I have the following problem…
I was trying to merge a remote branch into my local, then push the changes to the repo… Ok, I fetched the remote branch which had three commits, but one of them is not finished, so I don’t want push one of these commits to the repo… when I run git log, it shows me this:
commit: A1
merge: M1
merge remote branch "remote/branch"
commit: A2
commit: A3
commit: A4
And I want remove commit A2… how can I do it? I was searching and some people says to use git rebase or git reset, but I’m not sure which one should I use… just in case, I hadn’t pushed these changes
Thanks for the help
If you haven’t pushed your merge commit yet (that implies A2 was not pushed yet either) you can rebase interactively:
Now delete the merge commit line. Then, reorder the commits so that A2 is the latest one done. Once that is complete, branch:
Then reset master to the previous commit:
Now you can sync up properly and the incomplete feature will sit in it’s own branch until you decide to merge it in later when it’s ready.
hope this helps