2012-01-02 20 views
9

Tengo que usar Git y quiero deshacer una confirmación que haya sido confirmada antes de la sugerencia. En Hg es hg backout. ¿Cuál es el comando analógico en Git?¿Cómo hacer "hg backout X" en Git?

(I duckduckwent antes de publicar esto y no te a ver un comando analógico.)

Respuesta

7

Suena como que necesita git volver :) Como alternativa, si desea eliminar toda evidencia de que que comprometen le ha pasado, se podría hacer una git rebase para deshacerse de él. Pero ten cuidado si ya has publicado que comprometer a algún sitio visible ya que puedes crear problemas para otras personas.

Aquí hay un enlace a hablar de reversión:

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

Como alternativa, sólo Google para la documentación manual.

+2

prefiero duckduckgoing sobre googlear. –

+0

Lol no veo por qué :) –

+3

Existe una alternativa a 'git rebase' si quieres deshacerte de n commits del encabezado:' git reset --hard HEAD ~ n' – fge

12

Para revertir algunos específicos confirmaciones puede utilizar:

git revert <commit_hash> 

Esto añadirá un nuevo commit que revierte commit_hash confirmación.

Si desea borrar cometer un determinado por la historia reescritura, que puede hacer:

git rebase -i <commit_hash>^ 

Esto abrirá un editor. Simplemente elimine la línea que contiene el commit_hash que desea borrar, guarde el archivo y salga del editor. La rebase borrará el compromiso commit_hash.