/ / urlとその落とし穴を使って複数のgit URLにプッシュする - git、gitlab

set-urlと落とし穴のある複数のgit URLへのプッシュ - git、gitlab

ローカルにgitlabサーバーをセットアップしたいまた、オフサイトバックアップとしてgitlabクラウドを使用することもできます。開発者が彼らの仕事を推し進めるときはいつでも、私はそれが両方のgitlabサーバーに行くことを望みます。次のgitコマンドを使ってこれを行います。

git remote set-url --add --push origin git://my_local_repo_url
git remote set-url --add --push origin git://my_gitlab_com_repo_url

2台のサーバーが同期しなくなる可能性があることを心配しています。

  1. プッシュ中にいずれかのサーバーが停止し、1つが成功し、もう1つが失敗した場合はどうなりますか?これをどのように処理しますか?
  2. 開発者が次のいずれかを追加するのを忘れた場合はどうなりますかリモートURLなので、サーバーのうちの1つだけがプッシュされ、それから2番目のリモートURLが追加されました。次のプッシュはどうなりますか、またどのように処理しますか。
  3. 他にどのような問題が発生する可能性がありますか?

回答:

回答№1は1

プッシュ中にいずれかのサーバーが停止し、1つが成功し、もう1つが失敗した場合はどうなりますか?これをどのように処理しますか?

また、複数の遠隔地からのプル/プッシュ"失敗したプッシュ(リモートの1つのため何らかの理由で、reposは次のプッシュ時に修正できます。前回プッシュされなかったコミットは、次のプッシュ時に(新しいものに加えて)プッシュされます。

2番目のリモートが最初のリモートを反映している限り、開発者でさえ後で2番目のリモートを追加します。

しかし問題は次のとおりです。

  • 発散する履歴(リモートの1つがまだ持っていないことをコミットしているとき):あなたはの上にリベースする必要があります。 origin/master (フェッチでは、 origin 常に参照してください 最初 url):それからあなたは押すことができます
  • 発散リモート(2つの異なる履歴がそれぞれにプッシュされたために、両方のリモートが異なるコミットのセットを持っている場合): push --force 歴史を書き換えるか、またはリセットするためにそれらのリモートの1つに。