Riassumi le modifiche (inserimenti ed eliminazioni) in Git [chiuso]


47

Voglio vedere come la mia base di codice è cresciuta nel tempo. GitHub ha un bel +/-display lungo l'elenco dei check-in che dà un'idea di ciò. C'è qualcosa di simile che posso usare con il mio repository ospitato da Google Code o offline?


1
Sto votando per chiudere questa domanda come fuori tema perché l'uso di strumenti specifici per lo sviluppo del software. Queste domande appartengono allo StackTranslate.it, ma questa domanda è troppo vecchia per migrare.
Thomas Owens

Risposte:


71

Ci sono alcune opzioni in modo nativo in Git per ottenere dati sulle modifiche.

git log --stat mostrerà la quantità di file modificata.

git whatchanged fornisce alcuni dettagli nei file che sono stati modificati.

git diff --stat <sha1> <sha2> fornisce i file e la quantità di modifiche tra due commit.

Esistono molti altri blog che offrono vari log formattati. Una ricerca su Google può indicarti questi. Anche facendo git log --helpfornirà le varie opzioni per la formattazione della cronologia del tuo repository. Git ha la capacità di darti un bel po 'di dati attraverso le varie logopzioni della riga di comando (filtro per autore, file, ecc.).


6
Bellissimo! Grazie. Ora vedo anche --numstatun formato alternativo meno zuccherino ma pulito.
Potatoswatter

18
--shortstatstamperà solo i totali.
Casey,

1
tenere a mente che git diff --stat <sha1> <sha2>non comprende inserzioni e delezioni in <sha1>, in modo che avrebbe dovuto mettere la shadi impegnarsi poco prima <sha1>a comprende<sha1>
Vaibhav Vishal

18

Se conosci i commit che desideri confrontare, puoi provare a utilizzare il git diffcomando con l' --statargomento. Dà output in questo modo:

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)

2
Adoro sempre un esempio che funziona per la maggior parte dei casi (HEAD - 1) anziché un'astrazione. Grazie Mike!
Semplicemente
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.