Supponendo che il telecomando è chiamato origine
git reset --hard HEAD
git checkout origin/master
git branch -D master
git checkout -b master
Quello che fa è:
(opzionale se git status dice nessun file modificati) Eliminare qualsiasi file modificati sul disco (è per questo che reset --hard
)
Verificare il ramo principale remoto (nota: si sarà in uno stato "testa grattata")
Eliminare il master
sezione locale (buttare via tutte le modifiche locali)
chiamata l'attuale capo come la nuova filiale master
Ora probabilmente si vuole fare qualcosa di leggermente diverso ... vale a dire non buttare via le tue modifiche, semplicemente mettile su un altro ramo chiamato ...dopo tutto si sa mai quando avrete bisogno di nuovo
git checkout -b my-silly-changes
git branch -D master
git checkout -b master origin/master
che salva il vostro attuali cambiamenti in un nuovo ramo locale chiamato my-silly-changes
e poi rimuove il vecchio ramo locale chiamato master
e, infine, la ricrea dalla testa a distanza.
fonte
2012-10-01 07:56:19
Si dovrebbe anche fare un 'git clean -xfd' per sbarazzarsi di tutti i file non tracciati (creare prodotti, ecc.) –
cool non sapeva di quello –
I primi quattro comandi, se corretti, sono inutilmente prolissi. Se si è in 'master', solo' git reset --hard origin/master' farà lo stesso dei quattro comandi. Ancora, +1 per aver menzionato l'opzione di creare una filiale locale. – sleske