技術

[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

[Angular]ng-forでオブジェクトを回してkeyとvalueを取得する。

AngularのディレクティブであるngForで以下のように、オブジェクトを回そ …

no image

【ionic】Androidビルド失敗!Multiple dex files define

どうも、中田です。 久しぶりにionicでビルドしたらAndroidビルドに失敗 …

[Angular6] Angularのユニットテストでprivate変数を読み込む

Angularでテストコードを書いている時、component側で定義しているp …

no image

CSSで片方を固定、片方を可変のレイアウトを実装

こんばんは IE8・9ではdisplay: flex;が使えないがために片方を固 …

[ Rails ]ActiveRecord::RecordInvalidで怒られ、saveができない!

こんにちは。たなかです。 新しいプロジェクトの参画が決まって、今はrailsを書 …