loading...

re: How To Avoid Merge Conflicts VIEW POST

TOP OF THREAD FULL DISCUSSION
re: I totally understand that merges can get complicated, and rerere looks like a good tip; what I don't understand is how a diff is different from a m...
 

a diff shows you the differences between revisions of the same file. It helps you compare files. Merge conflict happens when you try to merge versions of the same file and git can't automatically pick which version to go with based on it's three way merge algorithm. Therefore it's needs some kind of human intervention to resolve the problem.

 

But how does a human intervene, I use a diff. Diffing two files also does not change the fact that a conflict exists and any action to combine changes of two files is a merge. And the article was about avoiding them.

The diff helps to spot conflicts right before they happen. You can then do a

$ git merge -s ours branch2

to use your changes.
or

$ git merge -s theirs branch2

to use their changes.

With this there is no conflict since you have inspected the changes and told git how to resolve the conflict. In essence you have told git what to do before any conflicts occur, since you saw them before hand.

From my perspective the conflict still exists. The difference is that the tool did not tell you about it, you identified it yourself and instructed git how to resolve it.

I also would not generally recommend those commands for resolution during a merge multiple conflicts can occur and which side you desire changes based on the conflict, and this ignores a common desire to accurately merge the two changes.

Code of Conduct Report abuse