技術

[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】$ionic emulate ios で真っ白

どうも、なかたです。 「COTeggのバケツ」というブログを立ち上げました。 こ …

JavaScriptでクリップボードにテキストをコピーする!

こんにちは。たなかです。 ブラウザに表示されている、自動採番されたIDをクリップ …

no image

TypeScriptで連想配列の型定義をする

TypeScriptを書いているときに、毎回調べていたので簡単にまとめました。 …

[Rails] モデルが初期化されてないとな(not initialized)

どうも中田です Railsで、modelの initialize に処理を追加す …

[JS] イベントバブリングまとめ

どうも中田です いつも忘れちゃうんですよ。 javascriptのイベントバブリ …