web-dev-qa-db-ja.com

GIT LOGをExcelファイルにエクスポート

私はフォーラムを調べましたが、うまくいきませんでした。

要件:

GIT LOG(フォーマット)コマンドを実行し、結果をExcelファイルに書き込みます。

GIT Logコマンドを使用してデータをCSVに書き込むことができる例を見てきましたが、フォーマットは2倍の労力です。

任意のユーティリティまたはアプローチが役立ちます。

ありがとうミリンド

11
milindbangar

Gitでは、prettyオプションを使用してログ出力をフォーマットする方法を制御できます。これをチェックしてください:

git log --pretty=format:%h,%an,%ae,%s

これは、(ハッシュ[省略形]、著者名、著者の電子メール、件名)の形式でログを出力します。

形式オプションの完全なリストを表示するには:

git help log

そして、フォーマットオプションのリストが表示されるまで下にスクロールします。

出力をリダイレクトするには、次のように>リダイレクト演算子を使用します。

git log --pretty=format:%h,%an,%ae,%s > /path/to/file.csv
26
joker

誰かが探している場合の私の2セント:

echo "commit id,author,date,comment,changed files,lines added,lines deleted" > res.csv 
git log --since='last year'  --date=local --all --pretty="%x40%h%x2C%an%x2C%ad%x2C%x22%s%x22%x2C" --shortstat | tr "\n" " " | tr "@" "\n" >> res.csv
sed -i 's/ files changed//g' res.csv
sed -i 's/ file changed//g' res.csv
sed -i 's/ insertions(+)//g' res.csv
sed -i 's/ insertion(+)//g' res.csv
sed -i 's/ deletions(-)//g' res.csv
sed -i 's/ deletion(-)//g' res.csv

git-logs-into-csv.shファイルに保存するか、コンソールにコピーして貼り付けます。

私はそれは比較的自明だと思いますが念のため:

  • --allはすべてのブランチからログを取得します
  • --sinceは、確認するコミットの数を制限します
  • --shortstat-コミットで何が行われたかを理解する
3
avs099