Visualizzazione di un file eliminato in Git

voti
98

Ho cancellato un file con Git e poi impegnato, in modo che il file non è nella mia copia di lavoro. Io voglio guardare il contenuto di quel file, ma in realtà non ripristinarlo. Come posso fare questo?

È pubblicato 08/09/2009 alle 17:11
dall'utente
In altre lingue...                            


3 risposte

voti
112

git show HEAD^:path/to/file

È possibile utilizzare un esplicito impegno identificatore o HEAD~nper vedere le versioni precedenti o se v'è stato più di un commit da quando hai eliminato.

Risposto il 08/09/2009 a 17:15
fonte dall'utente

voti
6

Dal momento che si potrebbe non ricordare il percorso esatto, si può invece ottenere lo SHA1 da git log allora si può semplicemente emettere

 git cat-file -p <sha1>
Risposto il 02/05/2012 a 00:55
fonte dall'utente

voti
34

Se si tratta di un file che hai eliminato un po 'indietro e non si vuole andare a caccia di una revisione , è possibile utilizzare (il file è denominato fooin questo esempio, è possibile utilizzare un percorso completo):

git show $(git rev-list --max-count=1 --all -- foo)^:foo

L' rev-listinvocazione cerca tutte le revisioni di foo, ma elenca una sola. Dal momento che rev-listle liste in ordine cronologico inverso, allora quello che elenca è l'ultima revisione che ha cambiato foo, che sarebbe il commit che cancellato foo. (Questo si basa sul presupposto che git non consente a un file eliminato da modificare e tuttavia rimangono cancellati.) Non si può semplicemente utilizzare la revisione che rev-listritorna così com'è perché foonon esiste più lì. Dovete chiedere per quello appena prima che contiene l'ultima revisione del file, da cui il ^a git show.

Risposto il 01/11/2013 a 11:31
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more