Git отменить возврат - PullRequest
       1

Git отменить возврат

20 голосов
/ 08 июля 2010

В Git, скажем, я совершаю A и B

A---[B]

Но потом я возвращаюсь с

git revert HEAD

Итак, я сейчас там:

[A]---B

Как мне отменить мой возврат, чтобы я мог вернуться к B?

Ответы [ 3 ]

53 голосов
/ 08 июля 2010

У вас есть два основных варианта:

  • Отменить возвратный коммит (создавая второй возвратный коммит, который возвращает вас к оригиналу)
  • Отбросить возвратный коммит с помощью

git reset --hard HEAD ^

Второй вариант подходит только в том случае, если вы not отодвинули свои изменения где-либо еще.Фактически, если вы еще ни разу не выдвинули свою первую фиксацию возврата, вы можете просто использовать

git reset --hard

для отката без создания возвратасовершает вообще.

1 голос
/ 31 декабря 2018

Если вы еще не сделали это полностью, то есть в gitbash вы видите что-то вроде:

Username@Host MINGW64 /d/code/your-project (feature|REVERTING)

тогда вы можете использовать git revert --abort для отмены.

Если вы сделали это ... просто не сбрасывайте, изменения все еще там. Используйте git reset, чтобы изменить состояние. Вместо --hard вы также можете использовать --soft (сохранить все изменения).

git reset --soft HEAD^ // discard the last commit, keeping all the changes after that
0 голосов
/ 31 декабря 2018

Когда вы создаете новый commit, который reverts another commit, вы можете угрожать ему как коммит.

Таким образом, в основном у вас есть много вариантов, таких как

  • git rebase -i (удалить возвратный коммит)
  • git reset --hard <commitID> (сброс к фиксацииперед возвратом вы потеряете все локальные изменения )
  • git reset --soft <commitID> (то же, что и выше, но сохраняет локальные изменения)
  • технически вы можете использовать git revert <commitId> длявернуть ваш возврат
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...