2012-07-24 21 views
19

Aunque el título parece similar a las preguntas anteriores, no pude encontrar la solución a mi caso simple:Cómo hacer GIT ignorar mis cambios

  • me comprometí a mi sucursal 'ABCD': git commit -a .....
  • entonces decidió visitar la confirmación anterior así: git checkout 2387687326487
  • Aquí hice algunos cambios en las cuales era para el propósito de prueba solamente, y no quiero mantenerlos
  • he terminado, quiero volver a mi última comprometerse (de nuevo: ignorando los cambios que hice al commit anterior): la coma nd git checkout 'ABCD' da error:

Your local changes to the following files will be overwritten by checkout....please commit or stash...

mientras yo no quiero cometer o esconder o lo que sea. Solo quiero volver a casa :) ¿Qué debo hacer, por favor?

+0

Al ignorarlo, parece querer decir "descartar de forma silenciosa cuando se cambian los registros o las sucursales". ¿Leo tu pregunta correctamente?Ignorar tiene un significado más especializado para mí en el mundo de control de fuente; específicamente: "excluir archivos ignorados de este (y/o futuro) commit (s)". –

Respuesta

21

Si está seguro de que no desea conservar los cambios, la siguiente línea hará:

git checkout -f 'ABCD' 

opción '-f' representa la fuerza.

9

Para deshacer los cambios locales y volver al estado desde el que puede cometer:

git reset --hard 
40

Utilizando sólo

git checkout . 

, se descartarán los cambios no confirmados en el directorio actual (el punto medio actual directorio).

EDITAR en respuesta a @GokulNK:

Si desea mantener esos cambios para su uso futuro, tienes 2 opciones:

  • git stash: esto va a guardar esos cambios en una pila. Puede aplicar los cambios a su copia de trabajo más adelante usando git stash pop
  • git diff > changes.patch: Esto guardará esos cambios en el archivo changes.patch. Si desea aplicarlos a su copia de trabajo, puede hacerlo: git apply changes.patch.
+0

¡Opción más simple! Gracias – Dinaiz

+0

¿Hay alguna manera de guardar esos cambios en un archivo antes de hacer el pago de git? –

+0

@GokulNK ver la edición –

7

Aparte de las soluciones mencionadas se puede esconder los cambios

git stash 

Pedido de su rama

git checkout 'ABCD' 

Y finalmente, cuando esté seguro de que usted no necesita nada de la escondidos cambia, y lo ha verificado dos veces con gitk o gitg, deseche el alijo:

git stash drop 

Esa es mi forma preferida, ya que es más seguro.

+0

Esta es la forma en que lo hago también, de manera segura – triswill227

Cuestiones relacionadas