cito un tutorial git:Differenza tra git HEAD e lo stato attuale del progetto?
git diff shows the diff between HEAD and the current project state
Mi chiedo che cosa ciò significhi. L'HEAD non è l'attuale progetto attivo?
Grazie
cito un tutorial git:Differenza tra git HEAD e lo stato attuale del progetto?
git diff shows the diff between HEAD and the current project state
Mi chiedo che cosa ciò significhi. L'HEAD non è l'attuale progetto attivo?
Grazie
Da "Specifying revisions"
HEAD
nomi il commit su cui si basano i cambiamenti nella struttura di lavoro.
Non ci sono altre teste (FETCH_HEAD
, ORIG_HEAD
e MERGE_HEAD
). Vedi Jefromi's answer per ulteriori informazioni.
Il fatto è che, per impostazione predefinita git diff
mostra in realtà le differenze tra "lo stato attuale del progetto" (vale a dire i file sul vostro albero di lavoro) e l'indice (non HEAD).
In altre parole, le differenze sono ciò che è dire git per aggiungere ulteriormente all'indice, ma non è ancora.
se si fa git diff --cached
, allora si confronterà l'indice con HEAD.
Vedi git book for more (archive link):
Un uso comune è quello di eseguire semplicemente
$ git diff
che vi mostrerà le modifiche nella directory di lavoro che non sono ancora in scena per il prossimo commit. Se volete vedere ciò che è messo in scena per il prossimo commit, è possibile eseguire
$ git diff --cached
che vi mostrerà la differenza tra l'indice e il tuo ultimo commit; cosa dovresti commettere se esegui "git commit" senza l'opzione "-a". (Nelle versioni Git 1.6.1 e successive, è possibile anche utilizzare
git diff --staged
che può essere più facile da ricordare.) Infine, è possibile eseguire$ git diff HEAD
che mostra i cambiamenti nella directory di lavoro dal tuo ultimo commit; cosa dovresti commettere se esegui "git commit -a".
Vedi anche 365git: Getting a diff between the working tree and other commits:
Nongit diff
è per mostrare le modifiche non (ad esempio, il lavoro che avete fatto, ma non hanno ancora impegnati al progetto corrente).
Ecco una spiegazione completa: http://git-scm.com/docs/git-diff
esattamente. La risposta di VonC è più accurata; 'git diff' fa * not * mostra le modifiche che hai apportato, non ancora impegnate nel progetto, ma * hanno * aggiunto con un' git add'. –
link impressionante, nei 3 anni di utilizzo di git non ho visto una singola immagine che spiegasse le cose così bene. Le immagini git offical sono orribili rispetto alla semplicità fornita dall'immagine collegata. Tutte le altre immagini sul blog sembrano essere paragonabili. Voglio dire che le immagini ufficiali di Git sono piuttosto serie di immagini che lasciano ancora spazio all'interpretazione, mentre l'immagine nel tuo post spiega 5 diversi comandi in solo 1 immagine. Questa è piuttosto l'inversione dell'efficienza, 5 immagini per comando rispetto a 5 comandi per immagine. – HopefullyHelpful