branch は機能ごとに切るもののと思い込んでるやつがいるな。
ローカルの branch は作業ごとに切るものだよ。
同じ機能でも複数の実装方法がある時に両方作って性能とかを比べてみたいとかあるだろ。
複数の作業が並行して走ることなんて普通だし、思いつきで試してみたくなることもある。
コミットの整理する時に整理前の試行錯誤とかを別に残しておくとかも普通の使い方。