2016-09-29 3 views
-2

Если я представил несколько фиксаций, как:Как удалить старый коммит в Git?

1 -> 2 -> 3 -> 4

Как я могу удалить совершить 3?

Скажите, что каждый коммит, я просто добавляю этот номер заказа в тот же файл.

Так что для

1: содержимое файла 1.

2: содержимое файла 12.

3: содержимое файла 123.

4: содержимое файла составляет 1234.

+4

Возможный дубликат [Git Удалить коммиты] (http://stackoverflow.com/questions/21899440/git-remove-specific-commits) – idjaw

+0

'мерзавец revert' позволит вернуться совершить 3 – xbonez

+0

@ xbonez Просто 'git rever 3'? Когда я это делаю, я получаю ошибку конфликта, но я не знаю, как разрешить этот конфликт. – Kuan

ответ

2

Все это зависит от того, что вы подразумеваете под " удалить фиксацию ".

  1. Если вы хотите отменить изменения от предыдущей фиксации, используйте git revert. Это создаст новый коммит, который является противоположностью данной фиксации.

  2. Если вы хотите удалить предыдущую фиксацию из истории изменений, используйте git rebase -i. Это даст вам текстовый файл, который вы можете редактировать, чтобы давать команды о том, как манипулировать данными коммитами. Одна из этих команд пропустит фиксацию.

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