Qual è la differenza tra `git reset file` e` git reset HEAD file`?


9

Trovo che entrambi questi possano mettere in scena un file.

Ho usato per usare git reset fileper unstage un file.

Ma oggi quando ho letto il http://git-scm.com/book .

Trovo che mi abbia insegnato a usare git reset HEAD file, cosa fa HEAD qui? In quali circostanze è d'obbligo?

PS: Un'ulteriore domanda, posso usare git checkout fileper non modificato un file. Nel frattempo questo libro mi suggerisce di usare git checkout -- file. Qual è la differenza qui?

Risposte:


9

Non c'è alcuna differenza. HEADè del tutto facoltativo. HEADnormalmente punta all'ultimo commit del ramo corrente. Se non lo usi, è implicito. Ha senso solo se si desidera ripristinare il file in base a un ramo o commit diverso ecc. In altre parole, ha senso usare qualcos'altro HEAD.

git checkoutcon --è più sicuro. È chiaro che tutto ciò che segue --è un percorso e non un commit o un tag, ad esempio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.