技術

[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

【Rails】helperからbrタグを含めた文字列を返したい時

こんにちは プライベートではもっぱらRailsを触っています。 触ってからそんな …

no image

AWS CLIでInvalidSignatureException Error

ECRにイメージをpushするために、dockerログインしようとして遭遇しまし …

Siriに笑って欲しいから [iOS 11、macOS High Sierra](「Siri」の笑い声まとめ)

iPhone Xが発売されて巷はiPhone Xの記事ばかり。 なんとなく見てい …

no image

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

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

どうも中田です。 Let’s Encryptって無料だし便利ですよね …