2015-06-29 14 views
9

Sto leggendo il libro Pro Git, second edition.Qual è la differenza tra staging e caching?

Si dice, a pagina 21:

git diff --staged Questo comando confronta le modifiche in scena al tuo ultimo commit.

e una pagina successiva (senza spiegare quello memorizzato nella cache mezzi)

git diff --cached per vedere quello che hai messo in scena finora.

e ora sono un po 'perso. Qual è la differenza tra staging e caching?

+1

Sono sinonimi esatti. '--cached' è più vecchio di' --staged'; quest'ultimo è stato aggiunto per coerenza con il termine "area di sosta". – Jubobs

risposta

3

L ' “area di sosta”, o “cache” sono entrambi sinonimi della stessa cosa che ha un altro nome nella maggior parte degli altri contesti in Git: l'indice.

L'indice è l'area in cui i cambiamenti sono in scena quando si aggiungono utilizzando git add (o git rm). È il set di modifiche che viene eseguito quando si esegue git commit.

Tutti e tre i nomi vengono in genere utilizzati come sinonimi, sebbene la "cache" sia utilizzata raramente al di fuori del parametro --cached in git diff.

5

Sono sinonimi; da Git docs:

Questo modulo è per visualizzare le modifiche apportate per il commit successivo relativo al nome. Normalmente si vorrebbe effettuare il confronto con l'ultimo commit, quindi se non lo si presta, il valore predefinito è HEAD. Se HEAD non esiste (ad esempio rami non ancora nati) e non viene dato, mostra tutte le modifiche a fasi. --staged è un sinonimo di --cached.

Problemi correlati