Gitのコミットログをいい感じにリスト化する
「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にコピペするのがラクですかね。
関連(するかもしれない)記事
おススメ