技術

[Git] どのコミットでバグが入ったか原因究明する方法【git blame】

投稿日:

こんにちは。さとうです。

今回は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) }

左から順番に
コミットハッシュ (コミット者 コミット日時 行数) 記述内容
という内容が表示されます。

コミットハッシュがわかれば、どのプルリクかもわかりますし、解決できそうですね!

 

おわりに

「このバグの犯人誰だよ」と犯人探しをするのは気がひけますが、バグが起こってしまったのは事実です。

そのバグに対してしっかり原因を探して必要な対処をするためにも、優しい気持ちで原因究明していきたいと思います。

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

【ionic 1.2】Native Scrolling

どうも中田です。 2015/12/10にionicの1.2が出ました! http …

[ Ionic ] A problem occurred evaluating project ‘:app’. > Failed to apply plugin [class ‘com.google.gms.googleservices.GoogleServicesPlugin’] > For input string: “+”

こんにちは。たなかです。 相変わらずモバイルアプリ開発やっています。 先日、Io …

[Rails] エラー unable to convert unpermitted parameters to hash について

こんにちは。佐藤です。 今回はRailsのpermit!についての備忘録です。 …

no image

【nginx/unicorn】(13: Permission denied) while connecting to upstream

どうも中田です。 AWS上でAPIサーバを構築してて、 * Webサーバ:ngi …

no image

【Rails】El Captain で’$rails s’ が動かない件

どうも中田です。 開発用MacをEl Capitanにアップデートしたところ r …