毎週のGITレポートを生成したいと思います。このレポートでは、特定の時間枠で各開発者によって送信および削除されたコードの数を確認できます。
目的は、特定の時間枠での開発者の活動の一般的な概要を取得することです
- 開始日
- 終了日
- デベロッパー
- コミット
- 追加されたコード
- 削除されたコード
これらの情報をcsvにエクスポートできれば素晴らしいと思います
[some-script/command] > weekly-git-log.csv
まずは心ゆくまでカスタマイズしてgit log --since="1 week ago" --until="now"
いきます。
例:
git log --since="1 week ago" --until="now" --format="%an,%ct,%s" > weekly-git-log.csv
CSVファイルに何を保存するかについてはあまり具体的ではないので、非常に一般的な回答を提供し、詳細を自分で入力できるようにします。
編集:
行を追加/削除したい場合は、少し凝ったものにして、bashスクリプトを使用する必要があります。
#!/bin/bash
IFS=$'\n'
DATA=(`git log --since="1 week ago" --until="now" --format="%ct,%an,%s,"`)
LINES=(`git log --since="1 week ago" --until="now" --pretty=tformat: --shortstat | gawk '(NF > 0){ printf "%s,%s\n",$1,$4 }' -`)
i=0
while [ $i -lt ${#DATA[@]} ]; do
echo "${DATA[$i]}${LINES[$i]}"
i=$[i + 1]
done
スクリプトで行う方が簡単なので、メッセージの後に追加/削除された行を挿入しています(bashではそれほど優れていません)。これはあなたがやりたいことのかなり良い基盤になるはずです。./script.sh >file.csv
(ファイルに出力するための呼び出し)
コミットメッセージ内のコンマはcsvファイルを壊すことに注意してください。--format
キーボードで定期的に入力できない不明瞭な文字にコンマを変更し、メッセージ内のコンマを削除してから、その不明瞭な文字をコンマに置き換えます。キャラクター。
または%s
、メッセージが必要ない場合は、フォーマットを廃止することもできます。
特定の日付範囲における特定のユーザーの変更のリスト-各ファイルの詳細
git log --pretty=format:"%h,%an,%ad,%s" --author=example@email.com --since=2012-11-19 --until=2012-11-20 --date=short --numstat
特定の日付範囲における特定のユーザーの変更のリスト-コミットの概要
git log --pretty=format:"%h,%an,%ad,%s" --author=example@email.com --since=2012-11-19 --until=2012-11-20 --date=short --shortstat
最終的なショートバージョン
git log --pretty=format:"%Cgreen%ad%x09%Cblue%s" --date=short --author=example@email.com --shortstat --since=2012-11-19 --until=2012-11-20
git log --since="1 week ago" --until="now" \
--format="%an,%ct,%s" > git_log_11_17_2012-11_24_2012.csv
「1週間前」は、「1週間前」というテキストで正確に実行できることに注意してください(したがって、実際の日付のプレースホルダーではありませんが、それも使用できます)。