0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gitログから特定のマージコミットだけを抽出する方法まとめ

Posted at

はじめに

Gitの履歴が増えてくると、「特定の種類のマージコミットだけ見たい」ということがあります。
たとえば、リファクタリングやデザイン修正など、テーマ別に履歴を追いたいときに便利です。

そこで本記事では、Gitのログから特定のマージコミットだけを抽出する方法をまとめます。

基本構文

git log --merges --grep="refactor"

オプション解説

オプション 意味
--merges マージコミットのみを表示
--grep="refactor" コミットメッセージ内にrefactorを含むものを検索
--oneline 出力を1行表示にまとめる(必要に応じて)

git log --merges --grep="refactor" --oneline

出力例:

a12b3cd Merge branch 'feature/refactor-login'
b34c5de Merge branch 'refactor/ui-cleanup'

応用:複数キーワードを指定する

git log --merges --grep="refactor" --grep="cleanup" --oneline

--all-match を付けると「両方含む」もののみ抽出できます。

git log --merges --grep="refactor" --grep="cleanup" --all-match --oneline

応用:期間やブランチを限定する

git log main --since="2024-01-01" --until="2024-12-31" --merges --grep="refactor" --oneline

または特定ブランチのみ:

git log origin/develop --merges --grep="release"

応用:フォーマット出力

より見やすくしたい場合は --pretty=format を使います。

git log --merges --grep="refactor" --pretty=format:"%h | %an | %s | %cd" --date=short

出力例:

a12b3cd | User | Merge branch 'feature/refactor-login' | 2025-10-05
b34c5de | User | Merge branch 'refactor/ui-cleanup' | 2025-10-07

実務Tips

  • CI/CDの履歴分析やリリースノート作成時にも応用可能
  • git loggrep の組み合わせでかなり柔軟に検索できる
  • チームでコミット規約(prefixルール)を決めておくとさらに便利

例:

feat: ...
fix: ...
refactor: ...
docs: ...

まとめ

  • git log --merges --grep="refactor" でリファクタリング系マージを抽出できる
  • 複数条件や期間指定も柔軟に設定可能
  • 出力フォーマットを工夫すれば履歴可視化にも使える

おわりに

チーム開発が進むほど履歴は膨大になります。
その中で、欲しい履歴だけを抽出できるスキルは地味ながらも確実に役立つテクニックだと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?