Продвинутое редактирование истории Git: исправление коммитов и интерактивный rebase
Погрузитесь в изучение мощных команд Git, таких как `git commit --amend` и `git rebase -i`, чтобы улучшать сообщения коммитов, объединять их и наводить порядок в истории вашего проекта.
Редактирование истории Git — это навык, который превращает хаотичный процесс разработки в чистую и понятную историю изменений. В этой статье мы рассмотрим, как использовать git commit --amend и git rebase -i для профессионального управления вашими коммитами.
Исправление последнего коммита: git commit --amend
Если вы забыли добавить файл или допустили опечатку в сообщении последнего коммита, git commit --amend — ваш лучший друг.
# Добавление забытых файлов в последний коммит
git add .
git commit --amend --no-edit
Флаг --no-edit позволяет обновить коммит, не меняя его исходное сообщение.
Интерактивный Rebase: git rebase -i
Для более сложных задач, таких как объединение нескольких коммитов (squash) или изменение порядка, используется интерактивный rebase:
# Редактирование последних 3 коммитов
git rebase -i HEAD~3
В открывшемся редакторе вы можете выбрать действие для каждого коммита:
pick: оставить коммит как есть.squash: объединить коммит с предыдущим.reword: изменить только сообщение коммита.
Важное предостережение
Никогда не делайте rebase коммитов, которые уже были отправлены в публичный репозиторий (push), так как это может создать проблемы для других участников команды.