方法がわからず、競合が発生する可能性がありますadded by them
。added by us
これらの競合を再現する方法を知っている人はいますか?
( Githubによると)移動と移動の競合について説明しているようです。
落ち方はこんな感じ。
Adam と Bob という 2 人の開発者がいます。Adam は という名前のリソース ファイルを見て、tax_db.txt
そのファイルの名前が間違っていると判断しました。これは単なるタブ区切りファイルです。そのため、tax_file.txt
.
Bob は同じファイルを見て、これも名前が間違っていると判断しましたが、それをファイルと呼ぶのは好きではありません。むしろ参考になります。それで、彼はファイルにtax_reference_chart.txt
.
どちらも独自のブランチmaster
(簡単にするために、A と B) を持っており、プロジェクトが互いに分岐する原因となった互いの変更に気付かずに楽しく作業しています。
リリース マネージャーのマコトが Adam と Bob のブランチをマージしようとすると、この競合が発生します。
makoto@workspace:~/foo$ git merge A
Updating d2cfb22..a512859
Fast-forward
tax_db.txt => tax_file.txt | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename tax_db.txt => tax_file.txt (100%)
makoto@workspace:~/foo$ git merge B
CONFLICT (rename/rename): Rename "tax_db.txt"->"tax_file.txt" in branch "HEAD" rename "tax_db.txt"->"tax_reference_chart.txt" in "B"
Automatic merge failed; fix conflicts and then commit the result.
makoto@workspace:~/foo$ git status
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)
both deleted: tax_db.txt
added by us: tax_file.txt
added by them: tax_reference_chart.txt
no changes added to commit (use "git add" and/or "git commit -a")
その時点で、基本的には、Adam と Bob のデスクに行って、ファイルの名前変更が正当化された理由についての議論を聞くことになります。