I have a master branch like this..
A -- B -- C -- D -- E -- HEAD
Is there any command that remove one of a old commit and retain the others, say commit C?
finally it becomes like this
A -- B -- D -- E -- HEAD
I know that we can use a reverse patch and apply a new commit with reverse patch to remove commit C, but the tree structure will not be so clear and looks bulky, i.e.
A -- B -- C -- D -- E -- C(apply reverse patch) -- HEAD
Anyone knows?
Use interactive rebase. For example, to go back 5 commits:
Then in the editor which pops up, delete the line containing the commit you want to remove.