Per poter cambiare il ramo in Git, ho dovuto mettere in scena tutti i file modificati. Una volta fatto questo, ho potuto cambiare il ramo. Tuttavia, ora se faccio a git status
non rileva i cambiamenti, ma se lo faccio a git diff HEAD^ HEAD
o git diff HEAD^
le modifiche sono mostrate. Come posso recuperare da questo? :S
risposte:
2 per risposta № 1Non solo hai messo in scena i file modificati, ma sembra che tu abbia anche creato un commit. HEAD^
si riferisce al commit che è il primo genitore di HEAD
, e HEAD
è il commit corrente, di solito la punta del ramo. Così git diff HEAD^ HEAD
mostra il diff dell'ultimo commit. È simile alla patch mostrata da git show HEAD
. git diff HEAD^
mostra la differenza tra il tuo albero di lavoro e l'albero che corrisponde a HEAD^
e dovrebbe essere equivalente a git diff HEAD^ HEAD
se non hai apportato alcuna modifica al tuo albero di lavoro dall'ultimo commit.
Se vuoi tornare indietro e "annullare" il tuo ultimo commit, puoi usare il seguente comando:
git reset HEAD^
Questo resetterà il ramo corrente a HEAD^
, senza modificare il tuo albero di lavoro.