前書き
日常的にGitを使用していてプッシュしたコミットを無かったことにしたいことがよくあります.(そんなことが頻発してはいけないのだが...)
コミット誤りを削減数るため,自分が誤っと感じてしまうコミットの傾向をまとめてみました.
駆け出しの反省文のような記事ですが,ご助言などあればコメントいただけると励みになります.
コミット誤りの種類
Gitツリーを見ながら「修正したい」と感じるコミットの種類を整理したところ,主に以下の3種類でした.
- 同一作業のコミットが複数に分割されている
- マージ誤り(コンフリクト解消漏れ・誤った解消)
- マージ誤り(施策外のファイルの追加・削除までマージしてしまっている)
発生原因
同一作業のコミットが複数に分割されている
コミットの単位が統一されてなく,細かすぎるコミットや編集内容が大きすぎるコミットをプッシュしている.
マージ誤り(コンフリクト解消漏れ・誤った解消)
マージした際に「送信側」,「受信側」の双方を受け入れてしまい,同様のコードが複製されてしまう.
純粋にマージミスに気づかずコミットしている.
マージ誤り(施策外のファイルの追加・削除までマージしてしまっている)
マージ時に施策外の変更を省き忘れてしまい,ブランチの変更が大きくなってしまう.(ブランチの運用によっては問題ないのかもしれない?)
心がけること
- 追加機能単位でコミットがまとまっていることを確認する(要件としての機能とプログラムとしての機能を区別する)
- プッシュ前に施策外のファイルが変更されていないことを確認する
- 動作確認をする(最低限ビルドする)