Export GIT LOG into an Excel file

Git gives your the control on how to format the log output using pretty option. Check this out:

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

This prints the log in the format of (hash [abbreviated], author name, author email, subject).

To see the full list of format options:

git help log

And scroll down until you see the list of format options.

To redirect the output, use > redirection operator as follows:

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

my 2 cents in case anyone is looking:

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

and either save it into git-logs-into-csv.sh file or just copy/paste into console.

I think it's relatively self-explaining but just in case:

  • --all takes logs from all branches
  • --since limits the number of commits we want to look at
  • --shortstat - to get some idea what was done in the commit

Tags:

Logging

Git