C'è un modo per ripristinare o annullare il git pull in modo che la mia fonte/reposito torni al vecchio stato che era prima di fare git pull? Voglio fare questo perché ha unito alcuni file che non volevo fare così, ma solo unire altri file rimanenti. Quindi, voglio recuperare quei file, è possibile? Grazie :)
EDIT Voglio annullare il git merge per chiarimenti. Dopo aver visto alcune risposte, ho fatto questo
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
Ora, cosa dovrei fare? Fare git reset --hard
va bene ? Non voglio rovinare tutto di nuovo, quindi chiedo dei passi dettagliati?
L'esecuzione di git pull
esegue i seguenti compiti, in ordine:
git fetch
git merge
Il passo di merge combina i rami che sono stati impostati per essere uniti nella tua configurazione. Vuoi annullare il passo merge, ma probabilmente non il fetch (non ha molto senso e non dovrebbe essere necessario).
Per annullare il merge, usa git reset --hard
per resettare il repository locale ad uno stato precedente; usa git-reflog per trovare lo SHA-1 dello stato precedente e poi resettalo.
Attenzione
I comandi elencati in questa sezione rimuovono tutte le modifiche non impegnate, portando potenzialmente ad una perdita di lavoro:
git reset --hard
In alternativa, resettare ad un particolare punto nel tempo, come ad esempio:
git reset --hard master@{"10 minutes ago"}
Se hai gitk (prova ad eseguire "gitk --all dalla tua linea di comando git"), è semplice. Basta eseguirlo, selezionare il commit a cui si vuole fare il rollback (clic destro), e selezionare "Reset master branch to here". Se non hai modifiche non impegnate, scegli l'opzione "hard".