これが状況です。サーバーAにリモートのgitリポジトリがあります。また、このリポジトリにある同じソースコードを使用してデスクトップBで作業する必要があります。サーバーAにアクセスするための帯域幅が限られているため、リポジトリ用にデスクトップBにローカルミラーを設定したいと思います。
今、私はミラーリポジトリを設定しました
git clone --mirror https://repository-on-server-a /local/repo/path.git
私はローカルリポジトリをテストしました
git clone file://localhost/local/repo/path.git
次に、crontabを変更して実行しました
cd /local/repo/path git fetch -q
5分ごとに同期します。それはうまくいきます。
当初は使うことを考えていました
git config --global url.file://localhost/local/repo/path.git.insteadOf https://repository-on-server-a
gitにリモートリポジトリではなくローカルディレクトリからすべてのオブジェクトをフェッチさせる。ただし、機能しません。
私の質問は
- リモートgitリポジトリ用にそのようなローカルミラーを設定する簡単な方法はありますか?
- 'git push'の処理方法は?代わりにOfはローカルディレクトリにすべてのプッシュを取得するので、どうすればすべての変更をサーバーAにプッシュバックできますか?
ローカルディレクトリはテスト用ですが、最終的な解決策ではありません。後でデスクトップBからソースコードを取得するための別のデスクトップCがあります。別の同僚も私に加わります。つまり、デスクトップBにすべての変更を加えて、「中心的な」ソリューションを提供したいと考えています。