要点
- コミットメッセージで検索
# 例: "fix bug"を含むコミットメッセージを検索
git log --grep="fix bug"
git log --grep="fix bug" --ignore-case # 大文字小文字を無視("Fix Bug"等もヒット)
- コード内の特定の文字列の「追加」または「削除」を伴う変更で検索
# 例: "myFunctionName"という文字列が追加または削除されたコミットを検索
git log -S "myFunctionName" # 検索文字列を変更内容に含むファイルのみを表示
git log -S "myFunctionName" -p # 変更内容 (diff) も表示
git log -S "myFunctionName" --pickaxe-all # 同時に変更されたすべてのファイルのdiffを表示
詳細
コミットメッセージでの検索
コミットメッセージを検索するには、--grep
オプションを使用します。特定のキーワードを含むコミットメッセージを簡単に見つけることができます。
git log --grep="fix bug"
大文字小文字を無視して検索する場合は、--ignore-case
オプションを追加します。
git log --grep="fix bug" --ignore-case
コード内の特定の文字列の「追加」または「削除」を伴う変更で検索
-S
オプションを使用すると、特定の文字列が追加または削除されたコミットを検索できます。これは、コードの変更履歴を追跡するのに非常に便利です。
git log -S "myFunctionName"
このコマンドは、指定した文字列が変更内容に含まれるコミットのみを表示します。さらに、-p
オプションを追加すると、変更内容のdiffも表示されます。
git log -S "myFunctionName" -p
--pickaxe-all
オプションを使用すると、同時に変更されたすべてのファイルのdiffを表示できます。
git log -S "myFunctionName" --pickaxe-all