Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git revert causes merge conflict

Tags:

git

revert

I created a dummy txt file and entered a new line in every commit such as:

//dummy.txt
first commit
second commit
third commit

now I want to get rid of the second line by reverting the second commit. However I receive merge conflicts in this simple experiment. Could somebody explain why?

like image 1000
in4001 Avatar asked Jun 08 '15 15:06

in4001


1 Answers

Your example is actually not as trivial as you may think, because your changes are all on consecutive lines. The main problem is that the diff introduced by third commit actually depends on changes done in second commit. Git stores the full tree of each commit, but still needs to be able to express a commit as a diff in terms of the previous commit (don't know if that makes sense to you).

If you try the same operations but by doing 3 commits modifying different parts of the same file, the revert of the second commit will not fail. Since the default context diff is 3, it should not fail if your edits are further than 3 lines apart from each other.

like image 180
Sébastien Dawans Avatar answered Oct 22 '22 17:10

Sébastien Dawans