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
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 commitIf you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With