2010-06-24 21 views

Respuesta

51

Tiendo a usar git checkout . que descarta todos los cambios desde el directorio de trabajo hacia abajo. Esto hace una diferencia si no estás en la raíz del repositorio.

Este comando no elimina los archivos recién creados, lo que generalmente es algo bueno. Si necesita hacer esto, puede usar git clean también.

+1

Probado esto, y es lo que estoy buscando. Gracias. – haydenmuhl

+0

Esto también funciona con un único nombre de archivo: 'git checkout [file ...]'. ¡Gracias! – naught101

+0

Por curiosidad, ¿sabes cómo deshacer esto? –

8

Puede usar git-checkout-index. Ten en cuenta que es necesario agregar

  • -f para forzarlo a sobrescribir los archivos existentes, o
  • -f -a a hacer cumplir sobrescribir todos los caminos en el índice.
14

Puede usar git stash save --keep-index para hacerlo. Después de guardar el alijo, puede usar git stash drop si no desea mantenerlo.

+0

Esto es tan poco intuitivo Me pregunto si mal algo. Lo que quiero hacer es 'git reset --hard ' que tiene conflictos de fusión, de modo que puedo simplemente 'git pull' la última versión. Pero git no me deja hacer eso para archivos individuales. ¿Realmente no hay forma de revertir los cambios a un archivo en el directorio de trabajo además de git stash? – Andy

+1

@Andy: para revertir un archivo específico, 'git checkout - '. –

+0

¡Oh! Ni siquiera había pensado en eso, eso es diferente de otros SCM y herramientas GUI de los que vengo. ¡Gracias! – Andy

Cuestiones relacionadas