Иногда у меня есть несколько небольших коммитов в ветви функций, и я хотел бы просто сжать их все вместе, но пока не сливаться с родительской ветвью.
Я знаю, что могу (в этом примере родительская ветвь master
):
git rebase -i master
, а затем пометить все коммиты после первого как "squash".
Есть ли способ получить тот же результат не в интерактивном режиме?
По сути, я хочу создать новый коммит, дерево которого идентично дереву, которое находится сейчас во главе моей функциональной ветви, и чей родитель является коммитом предка, который я указал (например: master
), а затем изменить ветвь функции, чтобы указать на этот новый коммит. Не должно быть никаких конфликтов (иногда я получаю некоторые с rebase -i
), а с -m
должен быть полностью неинтерактивным. В идеале, без -m
сообщение коммита должно по умолчанию объединять коммиты, подавляемые.
Как я могу это сделать?