2016-09-27 1 views
1

Рассмотрим следующую историю фиксации:полностью удалить ранее фиксации

* 627f412 (HEAD -> master) final commit 
* 1425cf8 added some file 
* 2c8bb78 initial commit 

Репозиторий не является ни толкнул не вытягивается во время этих фиксаций.

Второй фиксатор 1425cf8 является ненужным фиксацией. И я хочу полностью удалить эту фиксацию.

Итак, новый журнал будет выглядеть следующим образом:

* 627f412 (HEAD -> master) final commit 
* 2c8bb78 initial commit 

Как достичь этого?

git reset --hard HEAD~1 Правильная вещь, чтобы сделать в этой ситуации?

ответ

2

Is git reset --hard HEAD~1 the correct thing to do in this situation?

Номер: git rebase -i 2c8bb78 есть.

Вы можете отказаться от дополнительной фиксации в интерактивном сеансе переадресации. (если вы хотите полностью отказаться от того, что введен 1425cf8)
Или вы можете сквоить два коммита.

Для этого, в интерактивной сессии (см "Git Tools - Rewriting History"):

  • добавить s для сквоша перед 627f412

Обратите внимание на конечный результат будет не быть 627f412: новый коммит будет иметь другой SHA1, поскольку его содержимое будет отличаться.

+0

VonC Вот что происходит, когда я 'git rebase -i 2c8bb78'. Откроется окно редактора. со следующим: pick 1425cf8 добавил несколько файлов pick 627f412 final commit Я удалил первую строку. Сохраненный файл. Это результат: Ошибка: не удалось применить 627f412 ... final commit Я что-то не так? У меня есть git rebase --abort, чтобы вернуться к исходному состоянию – deshmukh

+0

См. Https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History: вы хотите сбросить изменения 1425cf8 или выкачать их с помощью 627f412? – VonC

+0

VonC. Это обязательство, которого не должно было быть. Более того, фиксация 627f412 - это то, что я хочу, и она включает все, что было частью 1425cf8 в любом случае – deshmukh

0

Вы можете сбросить (без --hard!) Ваш ГОЛОВКОЙ до 2c8bb78, а затем зафиксировать изменения. Или перебазируйте на 2c8bb78 и сквош до двух других коммитов (627f412 и 1425cf8).

С reset --hard, возможно, вы потеряете ваши изменения.

+0

user4780495 Я, кажется, на шаткой земле. Посмотрите мой комментарий на ответ VonC VonC. Чтобы сделать вещи проще, не могли бы вы подробно рассказать об ответе? – deshmukh

Смежные вопросы