LoginSignup
23
18

More than 5 years have passed since last update.

期間を指定して、GitのコミットログをCSV出力する

Last updated at Posted at 2017-03-29

概要

ちょっと探したら、そういうことの出来る、素敵なWebサービスもありそうではあるのですが。

  • 開発者じゃない人に「今月の開発内容」のようなものを共有したい。
  • 開発メンバーごとに、どのくらい作業をしているかの目安を出したい。
  • 毎月、開発した内容を振り返るのに使える資料を簡単に作りたい。

ということで。

何となくGitのコミットログをCSV出力して、Google SpreadSheetとかExcelとかに貼り付けることを考えました。

やり方

コンソールでGitレポジトリのディレクトリを開き

git --no-pager log --since=2017-03-01  --until=2017-03-31 \
--pretty=format:"\"%ad\",\"%h\",\"%an\",\"%s\"" \
--date=short --no-merges --all --date-order > commits.txt

を実行。

(「2017-03-01」と「2017-03-31」の部分は、お好みの期間に書き換えてください)

これで、同ディレクトリに「commits.txt」というファイルが出力されます。

出力内容は

"日付","コミットのハッシュ","ユーザー名","コメント"

となります。

コマンドの中にある

--pretty=format:"\"%ad\",\"%h\",\"%an\",\"%s\""

の部分を変更することで、出力フォーマットは変更することができます。

コマンドの説明

  • --no-pager → ページャーを使わない
  • log → コミットログを表示
  • --since=2017-03-01 → 2017年3月1日から
  • --until=2017-03-31 → 2017年3月31日まで
  • --pretty=format:"\"%ad\",\"%h\",\"%an\",\"%s\"" → 出力フォーマット指定
  • --date=short → 日付を「yyyy-mm-dd」の形式で表示
  • --no-merges → 親のあるコミットを省略
  • --all → 全てのブランチやリモートのコミットを表示
  • --date-order → 時間順にソート

参考

23
18
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
23
18