Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Откат промежуточного коммита

#git


Есть 5 коммитов. Изменения в 3 коммите были ошибочными. Как откатить изменения так,
чтобы сохранился прогресс 1, 2, 4, 5 коммитов?
    


Ответы

Ответ 1



Вам нужно откатить изменения сделанные в 3-ем коммите: git revert commit3-SHA

Ответ 2



Либо, только если изменения не залиты на удаленный репозиторий git rebase -i и там удалить строку с третьим коммитом, оставив только 4 и 5. Оба способа (rebase -i и revert) подходят, если в коммитах изменялись разные файлы. Если файл изменился в третьем, а потом в 4 и/или 5, то придется доработать вручную.

Ответ 3



Я в таких случаях делаю rebase с параметрами force, interactive на коммит 2 и исключаю коммит 3. Но если коммит уже отправлен в удаленный репозиторий то лучше как советует ixSci

Комментариев нет:

Отправить комментарий