なかなかどうして、この有様よ。

へたれ系PG/SEの技術系メモ+育児日記。

git logを使ってコミット履歴をcsv出力する

概要

Gitのコミットログから、修正内容などをExcelなどで一覧化したい場合に使うと便利なコマンド。

ソースと注釈

git-bash.exeを利用して、以下の内容をコマンドラインに入力すると、指定した場所にcsvファイルを出力できる。

以下コマンド引数と注釈。

  • --no-pager …ログをページャーを利用せずに表示する。
  • --since=2019-11-01 …指定した期間からログを取得する。
  • --until=2019-12-25 …指定した期間までのログを取得する。
  • --pretty=format: …ログのフォーマットを指定する。

    • %ad--date=オプションに従った形式のAuthorの日付
    • %h …コミットのハッシュ(短縮版)
    • %an … Authorの名前
    • %s …件名
    • %b …本文
  • --date=short …ログに表示する日付の表示フォーマットを指定する。

  • --no-merges …マージコミットを除く。
  • --date-order …コミット順で表示する。
  • commits.csv …指定したファイル名で出力する。
cd C:\\\\workspace\\xxx
git --no-pager log --since=2019-11-01--until=2019-12-25 \--pretty=format:"\"%ad\",\"%h\",\"%an\",\"%s\",\"%b\"" \--date=short --no-merges --date-order  commits.csv

ちなみに、GitがUTF-8の場合csvをダブルクリックしてExcelで開くと文字化けるので、一旦UTF-8で開けるテキストエディタでShift-JISに変換して保存し、それからExcelで開く必要があるので注意が必要。

参考URL