Git Merge Conflicts

Merge conflicts can show up when you do a ‘git-merge’ or a ‘git-rebase’:

https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging

One way you can “anticipate” a git merge is with the ‘diff’ command

Here’s some bash pseudo code using command substitution:

diff -y <(git show branchA:file.txt) <(git show branchB:file.txt)

Remember though ☝️

A diff will always yield results, that’s what a patch is..

The key is when the SAME LINES are being changed: That’s the conflict! 😉

If the lines from diff don’t overlap…you can probably assume the merge or rebase won’t produce a conflict

(at least, for the file you looked at😊)

Git Rebase Lesson

I wrote a script to automate the creation of two divergent git branches…’main’ and ‘feature’.

When I rebased ‘feature’ onto ‘main’..no worked was “saved”.

The following code:

git checkout feature
git rebase main -i

even show ‘noop’ in the text editor.

Turns out, my code was creating duplicate patches on each divergent branch (here’s how to reproduce it if your interested, github link)

So when I rebased, git skips “already introduced patches”.

My reaction after 2 hours of reaching this finding: