4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Git】指定日からのマージコミットを抽出する

Last updated at Posted at 2020-01-31

当月のマージコミット数を集計したい

現チームでは毎月のリリース数を報告するのが通例なのですが、リリース数の多い月だと目視の集計が大変過ぎる!!
「よし、コマンドで抽出しよう!」

今月実際に以下のコマンドでマージコミットを抽出しました。

まずはブランチをmasterブランチに切り替えて

$ git checkout master

以下のコマンドで抽出します。

$ git log --since=2020-01-01 --merges --pretty=format:"%s" | grep "Merge" | sort | uniq

それぞれのオプションの詳細です。

【git logオプション】
--since=YYYY-MM-DD   : 指定日~現在まで
--merges             : マージコミットのみ
--pretty=format:"%s" : 件名のみ

【grepオプション】
sort                 : 並べ替え
uniq                 : 重複なし(連続する重複を集約するため、sortと組み合わせると正しく集約可能)

すると以下のように抽出されます。

Merge branch 'XXX-180'
Merge branch 'XXX-216'
Merge branch 'XXX-241'
Merge branch 'XXX-304'
Merge branch 'XXX-312'
Merge branch 'XXX-313'
Merge branch 'XXX-320'
Merge branch 'XXX-326'
Merge branch 'XXX-330'
Merge branch 'XXX-334'
Merge branch 'XXX-338'
Merge branch 'XXX-376'
Merge branch 'XXX-385'
Merge branch 'XXX-402'

マージコミットを抽出しているので直接masterブランチ上でコミットしていたり、チェリーピックをした場合などは抽出されないので注意が必要

参考

https://qiita.com/take4s5i/items/15d8648405f4e7ea3039
https://qiita.com/harukasan/items/9149542584385e8dea75
https://gotohayato.com/content/490/
https://qiita.com/m_norii/items/4ea31acf727d384faa23
http://blog.nomadscafe.jp/2012/07/sort-uniq.html

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?