I recently learned that when merging two branches in git, if there are changes on two adjacent lines git declares this a conflict. For example, if file test.txt
has this content:
Line 1: A
Line 2: B
Line 3: C
Line 4: D
and in branch master
we change this to
Line 1: A
Line 2: B1
Line 3: C
Line 4: D
while in branch testing
we change this to
Line 1: A
Line 2: B
Line 3: C1
Line 4: D
and then attempt to merge testing
into master
, git declares a merge conflict. My naive expectation was that the merge would happen without conflict and yield this:
Line 1: A
Line 2: B1
Line 3: C1
Line 4: D
I am sure there is a good reason why git doesn't merge this way. Can somesomeone explain this reason?