2010-05-28 14 views
7

Ho appena eseguito git add --interactive, quindi la versione di indice di alcuni file è diversa rispetto alle versioni di directory di lavoro. Invece di fare git diff --cached, voglio effettivamente scaricare il contenuto di ogni file nell'indice, ma non riesco a trovare un comando per farlo. Dovrei pensare che ci sarebbe qualcosa come git show INDEX:filename..., ma "INDICE" non è un nome di oggetto valido.Come posso visualizzare la versione di indice di un file prima che venga eseguito il commit?

Sono stato in grado di fare git ls --cached, quindi git show <hash>, ma ci dovrebbe essere un metodo più semplice per vedere ciò che si sta commettendo.

+0

perché non provare git gui? – corroded

risposta

17

Sì, semplicemente:

git show :filename 

Se si dispone di versioni indicizzare più (come ad esempio in una situazione di unione di conflitto) è possibile visualizzare le versioni in diversi slot indice con:

git show :1:filename 
git show :2:filename 
git show :3:filename 

in molti altri situazioni solo lo spazio 0 è popolato e :0:filename è l'identificativo per la versione cache del file. :filename è una scorciatoia per :0:filename.

3

Se si vuole prova la versione del progetto che si è nascosto nell'indice, è possibile utilizzare git stash --keep-index (vedi "commit parziali Testing" nel git-stash pagina di manuale).

Problemi correlati