/ / Git status non mostra cambiamenti ma git diff fa - git

Lo stato Git non mostra i cambiamenti ma git diff fa - git

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 № 1

Non 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.