Ho "accidentalmente" spinto un commit su GitHub.
È possibile rimuovere questo commit?
Voglio ripristinare il mio repository GitHub come era prima di questo commit.
Nota: si prega di vedere l'alternativa a
git rebase -i
nei commenti qui sotto-
git rebase --soft HEAD^
.
Per prima cosa, rimuovi il commit sul tuo repository locale. Puoi farlo usando git rebase -i
. Per esempio, se è il tuo ultimo commit, puoi fare git rebase -i HEAD~2
e cancellare la seconda linea nella finestra dell'editor che appare.
Poi, forza il push su GitHub usando git push origin +branchName --force
.
Vedi Git Magic Chapter 5: Lessons of History - And Then Some per maggiori informazioni (cioè se vuoi rimuovere i commit più vecchi).
Oh, e se il tuo albero di lavoro è sporco, devi fare un git stash
prima, e poi un git stash apply
dopo.
Dovrai cancellare la tua cache per averla completamente cancellata. Questa pagina di aiuto di Git ti aiuterà. (mi ha aiutato) http://help.github.com/remove-sensitive-data/