LoginSignup
211
175

More than 3 years have passed since last update.

つまらないミスを指摘されないための Git Commit

Last updated at Posted at 2019-10-16

子どものころから忘れ物やケアレスミスが多く、
「テストの時間の半分は見直しに使いなさい!」と言われて育ち(?)ました。

チーム開発では「うっかり Commit 」でレビュアーに迷惑をかけてしまったり、
本番の不具合に繋がったりするので、最大限気をつけています。
(それでもまだうっかりしてしまうことがある😫)

他にオススメのセルフチェック法など、コメントいただけると嬉しいです!!

こまめに Commit する

Commit の単位が大きくなればなるほど、差分から「うっかりコード」を見つけづらくなります。
例えばあるリソースのCRUD機能を作る場合、CRUDそれぞれで Commit を分けたり、
さらにバックエンドとフロントで分けたりと、出来るだけ 小さい単位でCommit するよう心がけています。

※2019/10/26 追記(コメントでいただいたアドバイス)
レビュアーにとって差分の確認がしやすい Commit にするため、
後から git rebasefixup コミット(もしくは squash コミット) を使ってまとめると良さそうです!

git add -p

差分のブロック単位でインデックスに追加する

git add -p

ブロック単位で add できるので、不要な修正が見つけやすくなります。
自分は新規ファイル追加以外で -p オプション無しの add を使うことはありません。
全部打つのは面倒なので git adp で使えるようにエイリアス登録してます😃

git status

ファイルのインデックス状況を確認する

git status
または
git status --short

上記の git add -p では新規追加したファイルを add できないので、
新規ファイルが unstaged 状態で残っていることがあります。
git status すればそれを発見できます。
また誤って add してしまったファイルがあればそれも見つけられます。
--short オプションをつけると、より一覧性が高く見やすくなります(2019/10/27追記)
git st でエイリアス登録しています。

git diff --cached | grep log

デバッグコードが残っていないかチェックする

git diff --cached | grep log -b20

git diff --cached はインデックスされたファイルの差分を確認するコマンドです。
これに loggrep をかけることによって、 console.log() 等デバッグコードの
消し忘れを発見できます。
git dc で前半部分を打てるようにエイリアエス登録してます。

プルリクの差分をじっくり眺める

プッシュ後にプルリクを作る際、 コードの差分をジィッ・・・と眺めます。
ブラウザで見ると全体を俯瞰しやすく、レビュアー目線で
「ここもっといい感じに書けるのでは?」みたいなのも発見できたりします。

追記

コメント欄で教えていただいた手法などをこちらに追記します!

git commit -v

※2019/10/16 追記

git commit -v

コミットメッセージの編集画面にファイル名だけでなくコードの差分まで表示してくれます。
私はいつも git commit -m でサクッとコミットしてしまっていたけど、確かにこのタイミングはミスに気づきやすそう👀

GUI ツールを使う

※2019/10/24 追記
GUI ツール(SourceTree等)だと一覧性も高く見落としが少なくなりそうです。
自分は CUI の操作感が好きで戻れないですが、使ったことのない人は一度試して良いかも。

tigを使う

※2019/10/24 追記
CUI で git を便利に使えるツール。しらなかった!
git add -p はパッチ単位の add ですが、 tig なら1行単位で add できるようです👀
Mac なら Homebrew で簡単にインストールできます。

git add -i

※2019/10/27 追記

git add -i

インタラクティブな git add
image.png
対話的な add で、 git add -pgit status をまとめてできるようなイメージですね!
追加漏れを防ぐのに良さそうです。

まとめ

個人の習慣があると思うので、みんながどうやってるか聞いてみたい!

211
175
15

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
211
175