Как сделать "HG Backout X" в Git? - PullRequest
10 голосов
/ 02 января 2012

Я должен использовать Git и хочу отменить один коммит, который был за несколько коммитов до подсказки.В ртути это hg backout.Что за аналоговая команда в Git?

(я вытащил ее перед публикацией и не вижу аналоговой команды.)

Ответы [ 3 ]

12 голосов
/ 02 января 2012

Чтобы отменить некоторые определенные коммиты, вы можете использовать:

git revert <commit_hash>

Это добавит новый коммит, который отменяет commit_hash коммит.

Если вы хотите стереть определенный коммит путем переписыванияИстория, вы можете сделать:

git rebase -i <commit_hash>^

Это откроет редактор.Просто удалите строку, содержащую commit_hash, которую вы хотите удалить, сохраните файл и выйдите из редактора.Перебазировка сотрет коммит commit_hash.

8 голосов
/ 02 января 2012

Похоже, вам нужен git revert :) В качестве альтернативы, если вы хотите удалить все доказательства того, что этот коммит когда-либо происходил, вы можете сделать git rebase, чтобы избавиться от него.Но будьте осторожны, если вы уже опубликовали этот коммит где-то видимым, так как вы можете создавать проблемы для других людей.

Вот ссылка, говорящая о возврате:

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

Кроме того, просто Google для ручной документации.

3 голосов
/ 03 января 2012

Здесь поддерживаются официальные эквивалентные команды Git и Hg:

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

И эквивалент дляhg backout это git revert

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...