I ran into a gap in my understanding of git and merge commits yesterday. Most of the time, the projects I contribute to work with a "mergeless" c...
For further actions, you may consider blocking this person and/or reporting abuse
There is a nice explanation here: git-scm.com/book/en/v2/Git-Tools-A... Look for the "Undoing merges" section further down.
If you revert a merge commit and later on you want to "re-merge" that same branch, you should revert the earlier revert commit (the commit that reverted the first merge) which effectively restores that merge. And if you have new commits in the feature branch since you merged for the first time you'll have to
git merge <feature>
again.So:
You create a merge:
git merge <feature>
You revert that (creating a new commit, say,
<revmerge>
):git revert -m 1 <mergecommit>
Later, you revert the revert:
git revert <revmerge>
And merge in any changes to after the initial merge:
git merge <feature>
Ah, this is the piece of documentation I was missing on Thursday, thanks for that!
This is esoteric but easy to resolve: start your new branch where you fix the merge commit with a revert of the revert of the merge commit.
Thanks for the tip Dag!
Git can be so confusing sometimes. :(
I would move the pointer for master back to commit a:
git branch -f master 4
I'm not sure I follow exactly, but I'll play with this and see how it goes. Thanks!