При работе с Git вы можете столкнуться с ситуацией, когда вам нужно отредактировать сообщение коммита. Существует ряд причин, по которым вы хотите внести изменения, например, исправление опечатки, удаление конфиденциальной информации или добавление дополнительной информации.
В этой статье объясняется, как изменить сообщение о самых последних или старых коммитах в Git.
Команда git commit —amend позволяет вам изменить самое последнее сообщение о коммите.
Чтобы изменить сообщение самого последнего коммита, который не был передан в удаленный репозиторий, передайте его снова, используя флаг —amend.
git commit --amend -m "New commit message."
Команда выполняет перезапись самого последнего коммита новым.
Опция -m позволяет записать новое сообщение в командной строке без открытия редактора сессии.
Перед изменением сообщения о коммите вы также можете добавить другие ранее забытые изменения:
git add .git commit --amend -m "New commit message."
Измененный коммит — это новый объект с другим SHA-1. Предыдущий коммит больше не будет существовать в текущей ветке.
Как правило, вам следует избегать внесения изменений в коммит, который уже выдвинут, поскольку это может вызвать проблемы у людей, которые основывают свою работу на этом коммите. Хорошей идеей будет проконсультироваться со своими коллегами-разработчиками перед изменением принудительного коммита.
Если вы изменили сообщение о самом последнем введенном коммите, вам придется принудительно нажать его.
git commit --amend -m "New commit message."
git push --force branch-name
Если вам нужно изменить сообщение о старых или нескольких коммитах, вы можете использовать интерактив git rebase для изменения одного или нескольких старых коммитов.
Команда rebase переписывает историю коммитов, и настоятельно не рекомендуется перебазировать коммиты, которые уже переданы в удаленный репозиторий Git .
git rebase -i HEAD~5
Команда отобразит последние X коммитов в текстовом редакторе по умолчанию :
pick 43f8707f9 fix: update dependency json5 to ^2.1.1 pick cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
reword 43f8707f9 fix: update dependency json5 to ^2.1.1 reword cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
fix: update dependency json5 to ^2.1.1
git push --force branch-name
Чтобы изменить самое последнее сообщение о коммите, используйте команду git commit —amend и, чтобы изменить более старое или несколько сообщений о коммите git rebase -i HEAD~N.
Не вносите изменения в принудительные коммиты, так как это может вызвать массу проблем у ваших коллег.
Если вы столкнулись с проблемой или у вас есть отзыв, оставьте комментарий ниже.