Для того, чтобы изменить любой коммит, нужно использовать команду git rebase
. Важно, что при этом все изменения, которые планируется внести в коммит должны быть скрыты командой stash
, то есть вывод команды git status
должен быть пустой:
1.Допустим в области изменений git есть какие-то файлы, которые мы хотим добавить к коммиту командой git rebase
, и есть файлы, которые добавлять не планируется.
В таком случае нужно скрыть изменения поочерёдно командой git stash push [относительный путь к файлу]
.
Показать список скрытых файлов можно командой git stash list
.
Команда git stash
сохраняет записи по методу стэка, то есть последние добавленные записи имеют меньший индекс, а самая последняя добавленная запись имеет индекс 0.
Хорошая статья про команду git stash
https://tangenttechnologies.ca/blog/git-stash-single-file/
2.Выполнить команду
git rebase —interactive [номер коммита^]
обратить внимание на символ ^ - это означает, что мы перемещаемся в состояние «до» этого коммита
3.В открывшемся файле или консольном текстовом редакторе (в зависимости от того, какой редактор настроен для работой с git) с коммитами указать, какой коммит мы хотим изменить — вместо pick
написать edit
4.Выполнить изменения, например добавить файлы к коммиту. Если изменения находятся в состоянии stash, выполнить команду
git stash pop
или
git stash pop [номер изменения]
5.Выполнить команду
git commit —amend
6.Выполнить команду
git rebase —continue
7.При необходимости перезаписать изменения на сервере командой
git push --force
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)