Домены
Интересные статьи
Домены

Как объединить несколько коммитов git в один (squash)

Недавно понадобилось объединить несколько коммитов в один в одном из проектов.

Эта операция называется squash (сплющивание).

Сделать это оказалось довольно легко:

  • открываем консоль git (любым из способов) и делаем rebase до нужного коммита (если у нас был старый, принятый коммит и мы хотим все коммиты после него соединить в один, то пишем его SHA хеш):

git rebase -i тут_sha_хеш_коммита

  • После чего у нас открывается окошко редактора Vim, в котором нужно заменить все вхождения pick на squash (!)кроме самого первого(отсчет сверху)(!). Для редактирования нужно нажать кнопку Insert, после редактирования нажать 2 раза Esc, и написать :wq (это сохранит и закроет текущий файл).
  • После предыдущей операции придется немного подождать.
  • Делаем git push -f (обязательно с -f, иначе git будет ругаться)

Собственно и все, теперь наши коммиты объединены в один.

 

Обо мне cyber01

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *