2

2つの開発者チームがあり、gitを使用したいと考えています。

しかし、gitを使用する方法がどちらが良いかわかりません:

  1. ベアレポ付きモデル。ここには、2つのローカルリポジトリと2つの開発者がコミットを同期している1つのベア(メイン)リポジトリがあります。

  2. ベアレポなしのモデル。これは2つのローカルリポジトリであり、そのうちの1つは他のリモートとして設定されています。

どのモデルを使用するのが良いのか、そしてその理由は何ですか?特に、2番目のモデルを使用したい場合、どのような問題が発生する可能性がありますか。

4

2 に答える 2

2

あなたは一般的に彼らが働いている人々のリポジトリにプッシュしません、それは面倒でしょう。ベアリポジトリはプッシュイン用ですが、非ベアリポジトリは開発者が前にいる傾向があり、彼はそれを管理し、場所からプルする責任があります。

つまり、中央リポジトリのないモデルには、2つの非ベアリポジトリが含まれます(それぞれがリモートとしてもう一方を持っています。リモートリストをリポジトリの「アドレス帳」と見なします)。

作業中は、定期的に相互に変更をプルしますが、それによっていくつかの問題が発生します。

  • 追加の通信が必要ですか(いつプルするか、どのブランチをプルするか)?
  • 両方のリポジトリが使用可能であることを確認する必要があります(開発者Aが何かを引っ張る必要があるときはいつでも開発者BがPCの電源を入れるのを待つ必要がないようにするため)

裸の中央リポジトリはそれを助けます:

  • いつでも利用できるはずです
  • どのブランチが「プッシュレディ」状態にあるか、何を共有するか、何を自分自身に保持するかを決定します
  • これは同期ポイントとして機能します。常に現在のバージョンが存在するため、分岐した場合は、誰がマージするかが常に明確になります。
于 2012-11-02T17:57:38.833 に答える
-1

2人の開発者にとっては、最初のオプションの方が適しています。2番目のオプションでは、両方の開発者が変更を加えた独自の作業コピーを持っており、これによりプッシュ時に問題や混乱が生じる可能性があります。ベア以外のGitリポジトリへのこのプッシュを確認する

于 2012-11-02T17:42:29.187 に答える