سؤال

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.)

هل كانت مفيدة؟

المحلول

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.

نصائح أخرى

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.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top