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