Skip to content

Instantly share code, notes, and snippets.

View SerafimDietrich's full-sized avatar

Serafim Dietrich SerafimDietrich

View GitHub Profile
@SerafimDietrich
SerafimDietrich / .gitconfig
Created May 25, 2025 17:19
Show Repository Stats (Commits, Files Changed, Insertions, Deletions & Total Lines grouped by Author)
[alias]
# git log --shortstat --pretty=tformat:"%aN (%aE)" | awk '$0 ~ /^ / { print line1":"$0 } $0 != "" { line1=$0 }' | sort | sed -E 's/ files? changed,//;s/([0-9]+) ([0-9]+ deletion)/\1 0 insertions(+), \2/;s/\(\+\)$/\(\+\), 0 deletions(-)/;s/insertions?\(\+\), //;s/ deletions?\(-\)//' | awk 'BEGIN {name=""; email=""; commits=0; files=0; insertions=0; deletions=0;} {if (($1 != name || $2 != email) && name != "") {print "\033[34m" name " " email " \033[35m"commits" commits\033[0m, \033[33m" files " files changed\033[0m, \033[32m" insertions " insertions(+)\033[0m, \033[31m" deletions " deletions(-)\033[0m, \033[36m" insertions-deletions " total\033[0m"; commits=0; files=0; insertions=0; deletions=0; name=$1;email=$2 } name=$1; email=$2; commits++; files+=$3; insertions+=$4; deletions+=$5} END {print "\033[34m" name " " email " \033[35m"commits" commits\033[0m, \033[33m" files " files changed\033[0m, \033[32m" insertions " insertions(+)\033[0m, \033[31m" deletions " deletions(-)\033[0m, \033[36m" inserti