Для сквошения только своих коммитов в Git вам потребуется использовать функционал "rebase". Ребейз - это процесс изменения истории коммитов, и в данном случае мы будем использовать его для объединения своих коммитов в один.
Вот шаги, которые нужно выполнить, чтобы сквошить только свои коммиты:
- Откройте командную строку или терминал и перейдите в папку вашего проекта Git.
- Убедитесь, что вы находитесь на ветке, в которой хотите сквошить коммиты. Если нет, переключитесь на нужную ветку с помощью команды
git checkout <branch_name>
.
- Запустите ребейз с помощью команды
git rebase -i <commit_hash>
, где<commit_hash>
- это хэш коммита, с которого вы хотите начать сквошить. Например, если вы хотите сквошить все коммиты, начиная с предыдущего коммита, выполнитеgit rebase -i HEAD~1
.
- В открывшемся редакторе появится список коммитов, начиная с вашего выбранного коммита. Перед каждым коммитом будет указано слово
pick
. Изменитеpick
наsquash
илиs
, для каждого коммита, кроме первого коммита в списке. Это позволит объединить их в один коммит.
- Сохраните изменения и закройте редактор.
- Далее появится еще один редактор, где вы можете отредактировать сообщение коммита. Здесь вы можете оставить одно сообщение для всех объединенных коммитов или отредактировать каждое сообщение коммита по отдельности.
- Снова сохраните изменения и закройте редактор.
- Git выполнит автоматическое сквошение коммитов, объединяя их в один коммит. Если все прошло успешно, вы увидите сообщение о завершении ребейза.
- Осталось только отправить измененную историю коммитов в удаленный репозиторий с помощью команды
git push -f
. Учтите, что, поскольку вы изменили историю коммитов, вам придется использовать опцию-f
для принудительной отправки изменений.
Эти шаги помогут вам сквошить только свои коммиты в Git, создавая чистый исторический граф вашей работы. Важно понимать, что ребейз является потенциально опасной операцией, поскольку изменение истории коммитов может привести к проблемам синхронизации с другими разработчиками. Будьте осторожны и уверены в своих действиях перед выполнением ребейза.