Допустим, у меня в данный момент проверена основная ветвь
Если я произвожу нормальное слияние с (--no-ff), например
git merge release/version --no-ff
, то применяются все оставшиеся коммиты в мою основную ветку с дополнительным коммитом слияния. С коммитом слияния вы можете визуально увидеть ветку релиза, входящую в master. Однако, допустим, я хочу, чтобы мастер содержал только сокращенную версию истории проектов, и поэтому я вычисляю sh все оставшиеся коммиты, например, так:
git merge release/version --squash
Затем я фиксирую сжатый коммит с
git commit -m "Merge branch 'release/version'"
Итак, теперь у меня есть хороший простой сдавленный коммит, но у меня больше нет коммита слияния, и моя основная ветвь выглядит разрозненной, как будто ветвь релиза никогда не объединялась. Как я могу получить лучшее из обоих миров и сква sh моих коммитов, но все же иметь вид, что это слияние.
Или, может быть, существует совершенно другой подход к обновлению мастера с сокращенной историей.