コミットを何らかの理由で取り消したいときに git revert
を使う。
git revert -m1 MERGE_COMMIT
したときは
Revert "Merge pull request #1 from onk/repo" This reverts commit 35b7e7c517c438b805d442ff45242334bb91eda5, reversing changes made to 07989ab9643e204a0d26a19152c5ace2657cf421.
という commit になる。
GitHub だと UI 上からも revert できて、そのときは以下のようになる。
どちらも、このまま進めることはできてしまうが、「revert した」という事実だけしか残っていない。なぜ revert する羽目になっているのかという Why がどこにもない。これは後世でとても困るのです。
revert commit のコミットメッセージもしくは revert PR の description に、理由を入れて欲しい。
「... の考慮が漏れていて動作確認時に ... というエラーが出たため」とか。Slack のリンクだけでもいいです。
理由が全員の記憶から揮発してしまったら「前回 revert した記憶があるが、当時ダメだった理由って潰せてるんだっけ?」という質問に答えられず、不安の中で次のリリースをすることになるからです。