git:ローカルのgitサーバーへのリモートアクセス用のURL形式

git:ローカルのgitサーバーへのリモートアクセス用のURL形式

この記事のリンクを試してみましたが、私には適していないようです。https://stackoverflow.com/questions/31801271/what-are-the-supported-git-url-formats

問題は、ローカルのgitサーバーが設定されていて、たとえば/srv/repo/ユーザー名でその名前でリポジトリを作成するときに、test.git同じネットワーク上の他のローカルコンピュータからリモートサーバーに追加したいということです--baretestusertest.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とプールが失敗しますgitsudo chown -R git:testuser test.git/*

リモートリポジトリを次のように追加したいと思います。git://192.168.1.10/~testuser/srv/repo/test.git/にあるので、ユーザーの代わりにユーザーとして使用してください。testusergittest.gittestuser

ベストアンサー1

SSHプロトコルを使用してサーバー側のストレージにアクセスする場合、読み取り/書き込み権限はサーバーのユーザー/グループ/世界的な権限によって決まります。リポジトリに対してこの権限を設定するには、git initリポジトリを作成するときにパラメータを指定してコマンドを使用します。--shared設定すると、--shared=trueストレージをグループレベルで書き込むことができます。これにより、同じグループのすべてのユーザーがリポジトリに書き込むことができます。

その後、ステップは次のようになります。

mkdir test.git
git init --bare --shared=true test.git

gitプロトコルを使用すると、サーバーに通信を処理するデーモンがあります。この場合、デーモンとリポジトリは同じユーザーが所有できます。

サーバー側のGit設定の詳細については、以下で確認できます。Git 本

おすすめ記事