Изучаем Git. Урок 15.
git revert
Видеоурок
Конспект урока
Краткое содержание урока, основные инструкции для командной строки, полезные ссылки и советы.
Зачем нужна команда git revert
Отменить произвольный коммит можно и руками. То есть посмотреть изменения в коммите, который мы хотим удалить и сделать обратные изменения в новом коммите
Но есть 2 причины не делать это руками:
1. Это долго. В реальном проекте в коммите может быть десятки и сотни изменений
2. Человеческий фактор. При ручной работе легко ошибиться, пропустить какие -то изменения или удалить что-то лишнее
Как отменить произвольный коммит
Делается это командой git revert с указанием хэша нужного коммита
При этом создается новый коммит
Конфликты при git revert
Допустим, мы выбрали коммит для отмены. Этот коммит затрагивает изменения в некоторых строках. Если в тех коммитах, которые сделаны после него, в этих же строках были сделаны другие изменения, то возникнут конфликты
Это нормально, таким образом гит отслеживает любые изменения и показывает все несостыковки в коде.
После резолва конфликтов (у нас был отдельный урок на эту тему) нужно запустить следующую команду
На что обратить внимание при отмене произвольного коммита
При отмене произвольного коммита обращайте внимание на:
1. Количество изменений в коммите
2. Возраст коммита
3. Автора коммита
Чем больше изменений в коде и чем старше коммит, тем больше вероятность конфликтов при попытке его отмены. Следует это учитывать и быть готовым резолвить конфликты
Git revert в phpStorm
В phpStorm команда делается просто - в истории коммитов жмем правой кнопкой и выбираем Revert commit. Если будут конфликты, phpStorm сразу предложит их разрезолвить. После резолва останется задать commit message новому коммиту, делать git revert --continue в терминале не нужно
Спасибо за внимание и до встречи!