こんにちは。さとうです。
今回はgitを使って、どのコミットでバグが入ったか原因究明する方法についてです。
git blame を使おう
$ git blame style.css
git blame を使うとファイルパスで指定したファイルの各行は、最後どのコミットで変更されたか?
ということを確認できます。
なので、この行の処理がバグに繋がっているということがわかれば、git blame を使うことで、どのコミットでバグが起こったのか?を特定することができます。
実例
実行
$ git blame style.css
結果
^93b7c38 (Sato 2019-05-22 23:41:46 +0900 1) /* ^93b7c38 (Sato 2019-05-22 23:41:46 +0900 2) Template: test ^93b7c38 (Sato 2019-05-22 23:41:46 +0900 3) Theme Name: test_custom ^93b7c38 (Sato 2019-05-22 23:41:46 +0900 4) Theme URI: test ^93b7c38 (Sato 2019-05-22 23:41:46 +0900 5) */ ^93b7c38 (Sato 2019-05-22 23:41:46 +0900 6) 432e3ee9 (Sato 2019-06-30 13:04:15 +0900 7) /*------------ 全体 ------------*/ ^93b7c38 (Sato 2019-05-22 23:41:46 +0900 8) .subnav .site_description{ ^93b7c38 (Sato 2019-05-22 23:41:46 +0900 9) margin: 2em 0; ^93b7c38 (Sato 2019-05-22 23:41:46 +0900 10) } 46c61b6d (Sato 2019-07-29 17:24:16 +0900 11) .profile a{ 46c61b6d (Sato 2019-07-29 17:24:16 +0900 12) padding: 0 5px; 46c61b6d (Sato 2019-07-29 17:24:16 +0900 13) }
左から順番に
コミットハッシュ (コミット者 コミット日時 行数) 記述内容
という内容が表示されます。
コミットハッシュがわかれば、どのプルリクかもわかりますし、解決できそうですね!
おわりに
「このバグの犯人誰だよ」と犯人探しをするのは気がひけますが、バグが起こってしまったのは事実です。
そのバグに対してしっかり原因を探して必要な対処をするためにも、優しい気持ちで原因究明していきたいと思います。