Сквош (squashing) в Git - это объединение нескольких коммитов в один. Позволяет упростить историю коммитов, сделать ее более аккуратной и читаемой.
Как правило, сквош выполняется при:
- Слиянии ветки с основной (feature branch merge). Короткая ветка с множеством небольших коммитов (фиксы, косметические изменения) может быть схлопнута в один большой коммит, представляющий всю функциональность ветки.
- Редактировании истории коммитов (interactive rebase). Позволяет объединить последовательные коммиты для более чистого представления изменений.
Процесс squashing обычно включает:
- Выбор коммитов: Определение диапазона коммитов, которые нужно объединить.
- Редактирование (интерактивный rebase): Использование команды
git rebase -i <коммит_до_диапазона>
или git rebase -i HEAD~<количество_коммитов>
.
- Отметка
squash
или s
: В открывающемся редакторе пометить коммиты, которые нужно объединить с предыдущим, словом squash
или сокращением s
. Первый коммит в списке оставляется с pick
.
- Редактирование сообщения: Git откроет редактор для написания нового сообщения для объединенного коммита.
- Применение изменений: После сохранения файла истории rebase и файла сообщ
Сквош (squashing) в Git - это объединение нескольких коммитов в один. Позволяет упростить историю коммитов, сделать ее более аккуратной и читаемой.
Как правило, сквош выполняется при:
- Слиянии ветки с основной (feature branch merge). Короткая ветка с множеством небольших коммитов (фиксы, косметические изменения) может быть схлопнута в один большой коммит, представляющий всю функциональность ветки.
- Редактировании истории коммитов (interactive rebase). Позволяет объединить последовательные коммиты для более чистого представления изменений.
Процесс squashing обычно включает:
- Выбор коммитов: Определение диапазона коммитов, которые нужно объединить.
- Редактирование (интерактивный rebase): Использование команды
git rebase -i <коммит_до_диапазона>
или git rebase -i HEAD~<количество_коммитов>
.
- Отметка
squash
или s
: В открывающемся редакторе пометить коммиты, которые нужно объединить с предыдущим, словом squash
или сокращением s
. Первый коммит в списке оставляется с pick
.
- Редактирование сообщения: Git откроет редактор для написания нового сообщения для объединенного коммита.
- Применение изменений: После сохранения файла истории rebase и файла сообщ