Gitのコミットログをいい感じにリスト化する

2018/08/14

「Gitのコミットログをxlsでリスト化してほしい」というリクエストがあったのでやり方を調べてみました。資料がとりあえずxlsなのはSIerあるあるですね。

xlsに張り付けるとなると

  • 1コミット1行
  • 日付はいい感じにフォーマットしたい
  • 区切り文字はタブで(xlsにコピペしやすいので)
  • 期間を指定したい

となっているとラクです。

git log はオプションがたくさんあるので、まずは概要を把握。 git logを使ってコミット履歴を閲覧する方法 | TechAcademyマガジンが参考になりました。

日付については任意の日付フォーマットでgit logを表示するを参考に。

こんな指定をすれば、任意のフォーマットで表示できます。
–date=format:'%Y/%m/%d %H:%M:%S'

タブの指定はgit log のフォーマット指定で区切り文字を指定する - ryopeko の何かに載っていました。

例えばタブ区切りにしたい場合には"%x09"を指定すればよい。

ここまでで欲しい出力を出すためのオプションが揃います。

試しにasciidoctorのリポジトリから2018年7月のコミットログをリスト化してみましょう。

コマンドはこんな感じ。

git log --date=format:'%Y/%m/%d %H:%M:%S' --pretty=format:"%cd%x09%h%x09%cn%x09%s" --after="2018-07-01T00:00:00+0900" --before="2018-08-01T00:00:00+0900"

出力は以下のようになります。

2018/07/31 01:01:15	13faee85	Dan Allen	fix warning in test suite
2018/07/30 23:51:04	d5098b10	Dan Allen	use autoload to load thread_safe
2018/07/30 23:24:23	fc72cf63	Dan Allen	resolves #2812 catalog inline anchors in ordered lists (PR #2813)
2018/07/26 20:57:29	2398cc1c	GitHub	resolves #2817 don't crash when using AsciiDoc table cell style on column in CSV table (PR #2821)
2018/07/25 23:53:57	8c11ef85	Dan Allen	add JRuby 9.2.0.0 to CI matrix and drop 9.0.5.0
2018/07/25 23:51:02	70cc6ebb	Dan Allen	move AttributeList tests to dedicated test file
2018/07/25 23:27:34	50fed607	Dan Allen	move table tests into proper category
2018/07/24 22:01:25	dc7a96ce	Dan Allen	treat empty value for named block attribute as empty string
2018/07/24 21:49:18	f678cb5c	Dan Allen	add tests for different caption values on a table
2018/07/19 23:56:42	223d5949	Dan Allen	put include tag around latest releases in CHANGELOG [skip ci]
2018/07/19 22:42:23	88cf6371	GitHub	merge PR #2757
2018/07/19 23:26:24	8a4535dd	Dan Allen	revise README edits
2018/07/13 22:47:26	426d8389	GitHub	resolves #2807 add pp as built-in attribute (PR #2808)
2018/07/06 00:56:25	217dc6fb	Dan Allen	upgrade Ruby versions in CI matrix
2018/07/06 00:54:57	707cb2cc	Dan Allen	pin nokogiri to fix problem with test assertions on JRuby
2018/07/01 02:34:18	20c8c9bd	Dan Allen	remove postfix conditional to fix issue in JRuby

実際はテキストファイルにリダイレクトして、そこからxlsにコピペするのがラクですかね。




関連(するかもしれない)記事


おススメ