1つのコミットは1つの論理的な変更に対応させる

  • 機能追加、バグ修正、リファクタリングなど異なる種類の修正はコミットを分ける
  • 複数のバグ修正や機能追加は別のコミットに分ける
  • リファクタリングと機能変更は別のコミットに分ける

適切な粒度を保つメリット

  • git bisectによるバグの原因特定が容易になる
  • 特定の変更のみをgit revertで取り消すことができる
  • 変更の意図や背景を明確に残すことができる