~/project git:(master) git status On branch master Your branch is up to date with ‘origin/master’ You have unmerged paths. (fix conflicts and run “git commit”) (use “git merge —-abort” to abort merge) Unmerged paths: (use “git add <file>..." to mark resolution) both modified: file.rb both modified: another-file.rb user $ ~/project git:(master) git add . user $ ~/project git:(master) git commit user $ ~/project git:(master) git status On branch master Your branch is up to date with ‘origin/master’ You have unmerged paths. (fix conflicts and run “git commit”) (use “git merge —-abort” to abort merge) Unmerged paths: (use “git add <file>..." to mark resolution) both modified: file.rb both modified: another-file.rb
git status On branch master Your branch is up to date with ‘origin/master’ You have unmerged paths. (fix conflicts and run “git commit”) (use “git merge —-abort” to abort merge) Unmerged paths: (use “git add <file>..." to mark resolution) both modified: file.rb both modified: another-file.rb You will still get this message but if you diff the file you will see that the resolution was already applied. git-rerere to the rescue
conflicts - Check your PR in GitHub. If Merging is blocked against master, fix if then merge with staging. - Keep your PR updated against master. - rebase until you reach a deployable state. - After you reach staging, merge master to your feature-branch periodically. - Pull staging always before merging. - If during your conflict resolution, someone else pushed into staging, undo your merge and do it again. - Whenever possible, fix conflicts in your feature-branch then merge. - Avoid merging a branch onto itself at all costs. - Avoid merging onto a broken environment. Check Jenkins first.