私は、開発者が必要に応じてローカルで変更をスカッシュし、小さくて把握しやすいコミットのみをコミットする責任があると考えるため、スカッシュとマージが大嫌いです。これは、より大きな機能ブランチの一部になる場合があります。
また、新しいマスター HEAD をプルした後、マージされたすべてのローカル ブランチを簡単にクリーンアップできるという利点もありました。
[alias]
; cm = clean merged
cm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"
しかし、私が現在取り組んでいるプロジェクトでは、開発者がコミットの意味を気にしなくても問題ないと考えています。すべての github.com リポジトリで、squash-and-merge がデフォルトで有効になっています。
少なくとも以前のクリーンアップの容易さを維持する方法はありますか? squashed-merge に基づいてローカル ブランチがマージされたことを識別する方法はありますか?