0

私はgitの初心者であり、gitを使用してプロジェクトで数人の友人とコラボレーションする方法を理解したいと思っています。私の問題は、gitで「(SVNのように)HEADに更新する」方法を理解しようとしていることです。私はgitが少し違うことを理解しています、そして私は助けをいただければ幸いです。

したがって、この状況を考慮してください。人物Aと人物Bがあります。人物Aは、1つの追加を行うことによってファイルを変更します。その後、彼は次のことを行います。

  1. 自分のブランチでコミットする
  2. マスターに切り替える
  3. プルオリジンマスター
  4. git merge personAbranch
  5. gitプッシュオリジンマスター

したがって、これまでのところ、これは機能します。GitHubでは、リポジトリが人物Aの変更で更新されているためです。

ここで、この間ずっと、人物Bも自分自身の変更を行っていると仮定します。彼も1つ足し算をします。人物Bも変更をコミットできるように、「HEADに更新」する必要があります。Bさんが試したのは...

  1. 彼自身の変更を彼自身のブランチにコミットします。
  2. マスターに切り替える
  3. git pull origin master
  4. gitマージマスターian。

4行目では、彼は常に対立の苦情を受けます。なぜ?!

どんな助けでも大歓迎です。

4

1 に答える 1

1

gitが競合について不平を言っている場合、それは、人物Aと人物B(彼の名前はIanである可能性がありますか?;)が同じファイルを変更し、変更が競合していることを意味します。ファイルがバイナリファイルであり、gitが2つの異なる変更を解決できないか、テキストファイルであり、2つの変更が同じ行のセットに接触します。

競合を解決する必要があります。これを支援するために使用できますgit mergetool

(競合はgitに固有のものではありません。同じ種類の理由で、Subversionでも発生する可能性があります。)

于 2012-04-07T07:46:42.233 に答える