この記事のリンクを試してみましたが、私には適していないようです。https://stackoverflow.com/questions/31801271/what-are-the-supported-git-url-formats
問題は、ローカルのgitサーバーが設定されていて、たとえば/srv/repo/
ユーザー名でその名前でリポジトリを作成するときに、test.git
同じネットワーク上の他のローカルコンピュータからリモートサーバーに追加したいということです--bare
。testuser
test.git
たとえば、ローカルGitサーバーのIPアドレスは192.168.1.10で、IPアドレスが192.168.1.100のコンピュータにそのストレージを追加する必要があります。
このURLを使用してユーザーの所有者を変更すると、test.git
プッシュとプルが可能になり、これは期待どおりに機能することを意味します。
sudo chown -R git:testuser test.git/
sudo chown -R git:testuser test.git/*
[email protected]:/srv/repo/test.git
しかし、名前の異なるユーザーを使用してリポジトリを作成しました。testuser
おそらくリポジトリのユーザーとグループの所有者がtest.git
属しているようですtestuser
。ユーザーの所有者を次に変更しないと、プッシュtest.git
とプールが失敗しますgit
。sudo chown -R git:testuser test.git/*
リモートリポジトリを次のように追加したいと思います。git://192.168.1.10/~testuser/srv/repo/test.git/
にあるので、ユーザーの代わりにユーザーとして使用してください。testuser
git
test.git
testuser
答え1
SSHプロトコルを使用してサーバー側のストレージにアクセスする場合、読み取り/書き込み権限はサーバーのユーザー/グループ/世界的な権限によって決まります。リポジトリに対してこの権限を設定するには、git init
リポジトリを作成するときにパラメータを指定してコマンドを使用します。--shared
設定すると、--shared=true
ストレージをグループレベルで書き込むことができます。これにより、同じグループのすべてのユーザーがリポジトリに書き込むことができます。
その後、ステップは次のようになります。
mkdir test.git
git init --bare --shared=true test.git
gitプロトコルを使用すると、サーバーに通信を処理するデーモンがあります。この場合、デーモンとリポジトリは同じユーザーが所有できます。
サーバー側のGit設定の詳細については、以下で確認できます。Git 本。