Я бы добавил, что сжатие приводит к хаосу только тогда, когда ветки общедоступны, если разработчик работает локально на ветке с грязной фиксацией, такой как «о, буммер, сломал это снова», за которой следует «это работает!»затем «штопать, он снова сломан», затем «ок, исправили это сейчас», их легко раздавить (до того, как они будут отправлены в удаленное хранилище или разделены) в один коммит с хорошим сообщением о том, что изменилось в коде.
после отправки в удаленное репо это будет выглядеть идентично одному обычному коммиту, созданному без сквоша, как если бы программист программировал с ангелами, следя за тем, чтобы все, что он делал, было идеально, и тогда разработчик мог свободно использовать git дляпостепенные изменения, которые я считаю полезными для выяснения того, что я недавно нарушил в коде.
Мой взгляд на вещи: squash - отличный инструмент для локального рабочего процесса, то есть одного разработчика.как только коммит распределяется, его нельзя раздавить.