Export GIT LOG into an Excel file

25,932

Solution 1

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

Solution 2

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
Share:
25,932
milindbangar
Author by

milindbangar

Updated on July 06, 2020

Comments

  • milindbangar
    milindbangar almost 4 years

    I have looked into the forum, but with no luck.

    Requirement :

    Run GIT LOG (format) command and write the results into an Excel File .

    I have seen examples wherein with GIT Log command, data can be written into a CSV, but formatting is double the effort.

    Any utility or approach would be helpful.

    Thanks Milind