Come posso annullare tutte le modifiche apportate alla mia directory dopo l'ultimo commit, inclusa l'eliminazione di file aggiunti, il ripristino di file modificati e l'aggiunta di file cancellati?
Come posso annullare tutte le modifiche apportate alla mia directory dopo l'ultimo commit, inclusa l'eliminazione di file aggiunti, il ripristino di file modificati e l'aggiunta di file cancellati?
Risposte:
Ripristina innanzitutto le modifiche
git reset HEAD --hard
quindi ripulire tutto senza traccia. Se si desidera mantenere i file che non vengono tracciati a causa .gitignore
, fare attenzione con questo comando.
git clean -fd
-x
opzione git clean
, che lo dirige a rimuovere anche i file ignorati.
git clean -fd
comando.
git clean -fd
, non verranno eliminati i file ignorati. -x
volere.
git clean -fd
eliminerà quelle cartelle e file non tracciati. Testato con la versione 1.9.1 di git
Come posso annullare tutte le modifiche apportate alla mia directory dopo l'ultimo commit, inclusa l'eliminazione di file aggiunti, il ripristino di file modificati e l'aggiunta di file cancellati?
Puoi annullare le modifiche ai file tracciati con:
git reset HEAD --hard
Puoi rimuovere i file non tracciati con:
git clean -f
Puoi rimuovere file e directory non tracciati con:
git clean -fd
ma non puoi annullare la modifica a file non tracciati .
È possibile rimuovere file e directory ignorati e non tracciati
git clean -fdx
ma non puoi annullare la modifica ai file ignorati .
Puoi anche impostare clean.requireForce
su false
:
git config --global --add clean.requireForce false
per evitare di usare -f
( --force
) quando si usa git clean
.
Esistono due comandi che funzioneranno in questa situazione,
root> git reset --hard HEAD ~ 1
root> git push -f
Per ulteriori comandi git, consultare questa pagina
git push -f
non è correlato alla domanda e, in questo scenario, è pericoloso