git -> mostra l'elenco dei file modificati nei commit recenti in una directory specifica


Risposte:


164

Questo è più simile al comando svn in quanto mostra lo stato del file: aggiunto (A), copiato (C), eliminato (D), modificato (M), rinominato (R) e altri.

git log --name-status -10 path/to/dir

Vale la pena guardare la pagina completa della documentazione per git log. Lì imparerai che si -10riferisce agli ultimi 10 commit e -pti fornirà la patch completa, tra una varietà di altre chicche.


12
Per completezza: l'insieme comunemente usato di opzioni simili è -p(patch completa), --stat(numero di righe modificate), --numstat(simile --statma leggibile dalla macchina) --name-status, e --name-only(solo i nomi dei file).
Cascabel

3
Per chiunque giunga a questa domanda senza saperlo già, il -10 si riferisce al numero di commit che si desidera mostrare. Se hai bisogno di un elenco completo di commit, prova a rendere il numero insolitamente grande, come -1000 o più, se necessario.
Julian Soro

È anche possibile visualizzare la cronologia a partire da un commit o un'etichetta specifici? Sono
passati

2
@MrFox git log <from revision>.., ad es git log abc123... Maggiori informazioni sul formato dell'intervallo qui: kernel.org/pub/software/scm/git/docs/…
htanata

36

Per mostrare tutti i file modificati negli ultimi 10 commit, senza alcuna informazione di commit, eseguire:

git diff --name-only HEAD~10..HEAD yourdir

3
Soluzione perfetta per riaprire i file nel tuo editor.
cdosborn

1
Questa soluzione elenca solo i percorsi dei file, nessun commento, il che è molto apprezzato rispetto alla risposta accettata. Se tutto ciò che desideri è un elenco dei file che sono stati modificati nei commit specificati, questa soluzione fa proprio questo .
Big Rich,

6

Cerca di fare

git log -p -10 yourdir/

Dovrebbe funzionare.


1
L'OP ha chiesto un elenco di file modificati, non la patch completa.
Cascabel

1
Se si desidera modificare l'elenco dei file, è possibile eseguire --stat al posto di -p
blue112

1

Per mostrare tutto il committuo ramo (recente e vecchio), devi contare il numero di commit nel ramo

git rev-list --count branch_name

Una volta ottenuto tutto il conteggio dei commit, puoi correre

git log --name-status -countNumber /path

E si può semplificare la visualizzazione aggiungendo l' --pretty=onelineopzione al git logcomando sopra. L'aggiunta di un | sort | uniqcomando aiuterà a vedere l'etichetta di stato A / C / D / M / R come da risposta di
htanata
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.