Мне очень не нравится сжатие и слияние, так как я считаю, что разработчики должны нести ответственность за локальное сжатие изменений по мере необходимости и фиксировать только небольшие, легко понимаемые коммиты. Которые могут быть частью более крупной ветви функций.
Еще одно преимущество заключалось в том, что после того, как я вытащил новый главный HEAD, мне было легко очистить все локальные ветки, с которыми я производил слияние:
[alias]
; cm = clean merged
cm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"
Но проект, над которым я сейчас работаю, считает, что разработчикам можно не беспокоиться о том, чтобы их коммиты были значимыми. Они включили squash-and-merge по умолчанию во всех репозиториях github.com.
Есть ли способ хотя бы сохранить прежнюю простоту очистки? Есть ли способ определить, что локальные ветки были объединены на основе сжатого слияния?