ブランチでコミットを (git rebase -i を使用して) スカッシュすると、スカッシュされたコミットが新しいコミットではなく古いコミットと結合されることにいつも悩まされます。
なぜこのように設計されたのか理解できません。進行中の作業 (WIP) をコミットすると、それはコンパイルされていないコードまたは完成していないコードを表します。やっとコミットしたら「やっと動く!」マージする前に commit と squash を行う必要があるため、これらの WIP コミットを組み合わせて「やっと動く!」以前のコミットと結合されるのではなく、コミットします。WIP を押しつぶすと、基本的に、コンパイルできないことがわかっているコードで以前のコミットが「中断」されます。
これを回避するために、私のワークフローは、「それは機能します!」からコミットを押しつぶすことです。最初の WIP コミットの前にさかのぼります。しかし、これはばかげていませんか?WIP を以前のコミットに押しつぶすことが理にかなっている他の人々は何をしていますか?