2012-01-02 11 views
9

Devo usare Git e voglio annullare un commit che era un commit prima del suggerimento. In Hg è hg backout. Qual è il comando analogico in Git?Come fare "hg backout X" in Git?

(I duckduckwent prima di pubblicare questo e non lo vedremo un comando analogico.)

risposta

7

Sembra che tu abbia bisogno git tornare :) In alternativa, se si desidera rimuovere tutte le prove che che si impegnano mai accaduto, si potrebbe fare un git rebase per sbarazzartene. Ma fai attenzione se hai già pubblicato quell'impegno da qualche parte visibile in quanto puoi creare problemi ad altre persone.

Ecco un link a parlare di Revert:

http://gitready.com/intermediate/2009/03/16/rolling-back-changes-with-revert.html

In alternativa, basta Google per la documentazione manuale.

+2

preferisco duckduckgoing sopra googling. –

+0

Lol non vedo perché no :) –

+3

C'è un'alternativa a 'git rebase' se vuoi eliminare totalmente n commit dalla testa:' git reset --hard HEAD ~ n' – fge

12

Per ripristinare alcune specifiche commette è possibile utilizzare:

git revert <commit_hash> 

Questo aggiungerà un nuovo commit che ritorna commit_hash commit.

Se si desidera cancellare una specifica commit dalla storia riscrivendo, si può fare:

git rebase -i <commit_hash>^ 

Si aprirà un editor. Basta eliminare la riga che contiene lo commit_hash che si desidera cancellare, salvare il file e chiudere l'editor. Il rebase cancellerà il commit commit_hash.