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?
To undo changes associated with a specific commit, developers should use the git revert command. To undo every change that has happened since a given commit occurred, use git reset.
Use interactive rebase. For example, to go back 5 commits:
git rebase -i HEAD~5
Then in the editor which pops up, delete the line containing the commit you want to remove.
Interactive rebase works, but to do it with just one command:
git rebase --onto B C
Still see the comments on the "interactive rebase" answer. They apply here, too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With