884 votes

Comment calculer le nombre de lignes modifiées entre deux commits dans Git ?

Existe-t-il un moyen simple de calculer le nombre de lignes modifiées entre deux commits dans Git ?

Je sais que je peux faire un git diff et compter les lignes, mais cela semble fastidieux. J'aimerais également savoir comment je peux faire cela, en incluant uniquement mes propres commits dans le décompte des lignes.

3voto

Bien que toutes les réponses ci-dessus soient correctes, la réponse ci-dessous est pratique à utiliser si vous avez besoin de compter les dernières modifications.

La première étape consiste à compter les 5 derniers engagements.

git diff $(git log -5 --pretty=format:"%h" | tail -1) --shortstat

pour obtenir le compte des 10 derniers engagements

git diff $(git log -10 --pretty=format:"%h" | tail -1) --shortstat

générique - change N avec le compte du dernier nombre de commits dont vous avez besoin

git diff $(git log -N --pretty=format:"%h" | tail -1) --shortstat

pour obtenir le compte de tous les commits depuis le début

git diff $(git log --pretty=format:"%h" | tail -1) --shortstat

3voto

nassy Points 51

Un bon résumé de l'année

git diff --shortstat <first commit number of the year> HEAD

obtenir des résultats 270 fichiers modifiés, 19175 insertions(+), 1979 suppressions(-)

0voto

KC7 Points 86

Si vous souhaitez vérifier le nombre d'insertions, de suppressions et de commits, entre deux branches ou commits .

en utilisant les identifiants d'engagement :

git log <commit-id>..<commit-id> --numstat --pretty="%H" --author="<author-name>" | awk 'NF==3 {added+=$1; deleted+=$2} NF==1 {commit++} END {printf("total lines added: +%d\ntotal lines deleted: -%d\ntotal commits: %d\n", added, deleted, commit)}'

en utilisant des branches :

git log <parent-branch>..<child-branch> --numstat --pretty="%H" --author="<author-name>" | awk 'NF==3 {added+=$1; deleted+=$2} NF==1 {commit++} END {printf("total lines added: +%d\ntotal lines deleted: -%d\ntotal commits: %d\n", added, deleted, commit)}'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X