简体   繁体   中英

How to do “hg backout X” in Git?

I have to use Git and want to undo one commit that was some commits before the tip. In Hg it's hg backout . What's the analog command in Git?

(I duckduckwent before posting this and dont's see an analog command.)

To revert some specific commits you can use:

git revert <commit_hash>

This will add a new commit that reverts commit_hash commit.

If you want to erase a specific commit by rewriting history, you can do:

git rebase -i <commit_hash>^

This will open an editor. Just delete the line that contains the commit_hash you want to erase, save the file and quit the editor. The rebase will erase the commit_hash commit.

It sounds like you need git revert :) Alternatively, if you want to remove all evidence that that commit ever happened, you could do a git rebase to get rid of it. But be careful if you've already published that commit somewhere visible as you can create problems for other people.

Here's a link talking about revert:

http://gitready.com/intermediate/2009/03/16/rolling-back-changes-with-revert.html

Alternatively, just Google for the manual documentation.

There is the official Git and Hg equivalent commands maintained here:

https://www.mercurial-scm.org/wiki/GitConcepts#Command_equivalence_table

And the equivalent for hg backout is git revert

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM