Как изменить название коммита в Git?
но в «comment», по началу, писал какую-то фигню.
И хотелось бы, в некоторых случаях, этот «comment» поправить.
Можно ли это как-то сделать?
- Вопрос задан более трёх лет назад
- 35966 просмотров
Комментировать
Решения вопроса 1
git commit —amend исправляет (перезаписывает) только последний коммит. Если вам требуется изменить всю историю проекта — воспользуйтесь командой git rebase -i —root, про которую можно прочитать тут. Естественно коммиты не должны быть публичными.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ответы на вопрос 1
Алексей Павлов @lexxpavlov
Программист, преподаватель
—amend
но только если не успели запушить
Ответ написан более трёх лет назад
Нравится 3 1 комментарий
не обязательно, git push -f
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- GitHub
Как иметь в репозитории 2 ветки и не получать уведомление «Compare & pull request»?
- 1 подписчик
- 23 часа назад
- 56 просмотров
Как переименовать коммит git в репозитории
Если же вам нужно переименновать несколько коммитов, то вам нужно ввести git rebase -i , и в интерактивном режиме отредактировать сообщения нужных коммитов.
# 9ca69dd (HEAD -> main) add super awesome file.txt # c1a5665 (new-branch) fix bug # 86954b1 change readme # daaa7f9 add 1.txt 2.txt # 9f2880b readme # здесь указываем rebase до последнего коммита, который хотим отредактировать git rebase -i 9f2880b
git — как изменить закоммиченное сообщение?
Если была допущена ошибка в сообщение и команда git commit уже выполнена, не отчаивайтесь — все можно поправить. Рассмотрим два варианта:
Как изменить сообщение последнего коммита?
Данный пункт подразумевает, что вы еще не выполняли команду git push и все изменения хранятся в Вашем локальном репозитории. Выполните команду:
git commit --amend
после выполнения данной команды откроется редактор, установленный по умолчанию, который позволит вам изменить сообщение последнего коммита.
Если комментарий маленький — более удобно изменить комментарий последнего коммита в командной строке, с помощью команды:
git commit --amend -m "новое соошение"
Code language: JavaScript (javascript)
Предупреждение: Перед коммитом убедитесь, что у вас нет внесенных изменений в рабочую копию, иначе они тоже будут закоммичены. (Unstaged изменения не коммитятся)
Как изменить сообщения коммита, который вы уже отправили на сервер?
Если вы уже отправили коммит на сервер с помощью команды git push , то — после внесения изменений в коммит локально (как описано выше) — вам также потребуется выполнить команду push из ключем —force :
git push название ветка на сервере>
--forceCode language: HTML, XML (xml)
git push название ветка на сервере>
-fCode language: HTML, XML (xml)
Предупреждение: при использовании ключа —force , если в удаленной ветке есть коммиты, которых нет в вашей локальной ветке, вы потеряете эти коммиты.
Будьте осторожны при внесении изменений в коммиты, особенно те, которые вы уже отправили на сервер. Внесение изменений в коммиты по существу переписывает их, чтобы они имели другие идентификаторы SHA, что создает проблему, если у других людей есть копии старого коммита, который вы переписали. Любой, у кого есть копия старого коммита, должен будет синхронизировать свою работу с вашим недавно переписанным коммитом, что иногда может быть сложно, поэтому убедитесь, что вы координируете свои действия с другими при попытке переписать общую историю коммитов, или просто избегайте редактирования коммитов.
Запись опубликована 22.09.2021 автором androschuk.a в рубрике Блог, Песочница с метками Git, Песочница.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Переписывание истории
В данном обучающем материале описаны различные способы перезаписи и изменения истории в Git. В Git используются несколько способов регистрации изменений. Мы обсудим плюсы и минусы различных способов и покажем примеры работы с ними. В данном обучающем материале описаны некоторые типовые причины перезаписи состояний кода и разъясняется, как избегать ошибок при таких операциях.
Основная задача Git — гарантировать, что вы не потеряете внесенные изменений. Но эта система также предназначена для предоставления вам полного контроля над процессом разработки. В числе прочего вы сами определяете то, как выглядит история вашего проекта. Такая свобода создает и вероятность потери коммитов. Git предоставляет команды для перезаписи истории, но предупреждает, что использование таких команд может привести к потере данных.
В Git существует несколько механизмов хранения истории и сохранения изменений. Вот эти механизмы: commit —amend , git rebase и git reflog . Это мощные инструменты для настройки рабочего процесса. По окончании этого обучающего материала вы будете знать команды, которые позволят реструктурировать коммиты Git, и сможете избегать проблем, с которыми приходится сталкиваться при перезаписи истории.