私は2つの裸のリポジトリを持っています。それらは次のように作成されます。
ssh git@primary.com
git init --bare repo1
ssh git@backup.com
git clone --bare git@primary.com:repo1
1 つは開発に使用され (これをprimaryと呼びましょう)、もう 1 つはバックアップに使用されます (first にアクセスできない場合)。それらを自動的に同期することは可能ですか -git pull
バックアップで行うようなものです。
裸のリポジトリをマージまたはプルすることはできないと思います。これではなく、バックアップリポジトリを最新の状態にする別の方法はありますか:
ssh git@backup.com
rm repo1 -fr
git clone -- bare git@primary.com:repo1
もちろん、プライマリにしばらくアクセスできず、バックアップを使用していた場合は、プライマリを更新したいと思います。
また、作業リポジトリに 2 つのリモートを追加することも解決策ですが、常に両方にプッシュする必要があり、一方にアクセスできない場合は起こりません。
すべての競合は非裸のリポジトリで解決されます
編集なぜバックアップリポジトリが必要なのですか:
リモートリポジトリを使用してコードを交換していますが、これは毎日必要です。通常、人々は他の開発者が作成したコードを必要としませんが、常にそうであるとは限りません。プライマリーとの連絡が 3 日間途絶え、開発は容易ではありませんでした。別のサーバーに 2 番目のリポジトリを作成し、ローカルにクローンを作成しましたが、多くのプロジェクトでそれを行う必要があり、時間がかかります。2 番目のリポジトリを自動的に更新することを好みます。