2012-01-22 9 views

risposta

9

git diff --name-only ${range} ti darà esattamente ciò che desideri: solo i nomi dei file modificati in questo momento.

In realtà, ti dà quasi quello che hai chiesto: questo includerebbe i file che sono stati completamente cancellati, non solo i file modificati. Mancherebbe anche i file che sono stati creati, quindi rimossi, all'interno dell'intervallo.

Per ottenere l'immagine completa si vorrebbe probabilmente percorrere l'intervallo e quindi uniq i risultati; utilizzare git log per ottenere l'intervallo di commit, quindi differire ciascuno contro il genitore.

+0

Anche se diff non accetta gamme ('commit..commit ') la sintassi più naturale è di due argomenti,' git diff [opts] commit1 commit2', che rende chiaro che ti mostra la differenza tra i due, non facendo nulla con i commit tra. – Cascabel

4
git diff --stat SHAstart..SHAend 

vi darà un elenco di file modificato tra l'SHAIDs SHAstart e SHAend

1

git diff --name-only --diff-filter=AM <REV1>..<REV2>

Questo vi darà un elenco di file (--name-only) modificato o aggiunto (--diff-filter=AM) in tutti i commit raggiungibile dopo e prima (<REV1>..<REV2>) dove ed è una revisione in git.

Per ulteriori informazioni su come specificare le revisioni e le gamme di vedere questa pagina: http://schacon.github.com/git/git-rev-parse.html

Per ulteriori informazioni sulle opzioni di diff e soprattutto le opzioni --diff-filter vedere: http://linux.die.net/man/1/git-diff

Problemi correlati