子どものころから忘れ物やケアレスミスが多く、
「テストの時間の半分は見直しに使いなさい!」と言われて育ち(?)ました。
チーム開発では「うっかり Commit 」でレビュアーに迷惑をかけてしまったり、
本番の不具合に繋がったりするので、最大限気をつけています。
(それでもまだうっかりしてしまうことがある😫)
他にオススメのセルフチェック法など、コメントいただけると嬉しいです!!
こまめに Commit する
Commit の単位が大きくなればなるほど、差分から「うっかりコード」を見つけづらくなります。
例えばあるリソースのCRUD機能を作る場合、CRUDそれぞれで Commit を分けたり、
さらにバックエンドとフロントで分けたりと、出来るだけ 小さい単位でCommit するよう心がけています。
※2019/10/26 追記(コメントでいただいたアドバイス)
レビュアーにとって差分の確認がしやすい Commit にするため、
後から git rebase
と fixup
コミット(もしくは 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
はインデックスされたファイルの差分を確認するコマンドです。
これに log
の grep
をかけることによって、 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
。
対話的な add
で、 git add -p
と git status
をまとめてできるようなイメージですね!
追加漏れを防ぐのに良さそうです。
まとめ
個人の習慣があると思うので、みんながどうやってるか聞いてみたい!