Chcesz --statopcję git difflub, jeśli chcesz to przeanalizować w skrypcie, --numstatopcję.
git diff --stat <commit-ish> <commit-ish>
--stattworzy czytelny dla człowieka wynik, który przyzwyczaiłeś się po scaleniu; --numstattworzy ładny układ tabeli, który skrypty mogą łatwo interpretować.
Jakoś tęskniłem za tym, że chciałeś to zrobić na wielu zatwierdzeniach jednocześnie - to jest zadanie git log. Ron DeVera dotyka tego, ale w rzeczywistości możesz zrobić znacznie więcej niż to, o czym wspomina. Ponieważ git logwewnętrznie wywołuje maszynę różnicową w celu wydrukowania żądanych informacji, możesz dać jej dowolną opcję statystyki różnicy - nie tylko --shortstat. Co prawdopodobnie chcesz użyć to:
git log --author="Your name" --stat <commit1>..<commit2>
ale możesz użyć --numstatlub --shortstat. git logmoże także wybierać zatwierdzenia na wiele innych sposobów - spójrz do dokumentacji . Być może zainteresują Cię takie rzeczy --since(zamiast określania zakresów zatwierdzeń, po prostu wybieraj zatwierdzenia od ostatniego tygodnia) i --no-merges(scalanie zatwierdzeń nie wprowadza zmian), a także ładne opcje wyjściowe ( --pretty=oneline, short, medium, full...).
Oto jeden linijka, aby uzyskać łączne zmiany zamiast zmian na zatwierdzenie z dziennika git (zmień opcje wyboru zatwierdzenia zgodnie z potrzebami - jest to zatwierdzane przez ciebie, od zatwierdzenia1 do zatwierdzenia2):
git log --numstat --pretty="%H" --author="Your Name" commit1..commit2 | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
(musisz pozwolić git log wydrukować pewne informacje identyfikujące o zatwierdzeniu; arbitralnie wybrałem skrót, a następnie użyłem awk, aby wybrać tylko linie z trzema polami, które są tymi z danymi statystycznymi)