Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
17
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

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

概要

ちょっと探したら、そういうことの出来る、素敵な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 → 時間順にソート

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
17
Help us understand the problem. What are the problem?