2009-08-08 17 views
12

lo hice git clone: ​​//foo.git cd foo ... editar archivos .. ¿Cómo puedo volver a clonar git: //foo.git OTRA VEZ?

ahora quiero empezar de nuevo. No me importan los cambios que ya realicé, , pero no quiero volver a clonar todo el gigante foo.git, simplemente pierdo todos mis cambios. ¿cómo puedo git clonar git: //foo.git una segunda vez, sin obtener fatal: destination path 'foo' already exists and is not an empty directory. ¿cuál es el comando correcto?

Respuesta

2

para revertir todos los cambios, utilice:

git checkout . 

Los archivos sin seguimiento (archivos que no existían originalmente en el árbol, los ha creado y no se puede editar) no va a ser eliminado, sin embargo. Para buscar los archivos sin seguimiento, use:

git status 

Luego, elimínelos manualmente.

Por cierto, si desea hacer una copia del repositorio, no necesita clonar el repositorio original, simplemente puede clonar el que ya tiene en su disco duro. Vaya a un lugar fuera de foo, y hacer:

git clone /path/to/foo 
9
git checkout . # revert your changes 
git clean -xdf # delete untracked and ignored files 
+1

bien ~! ¡No sabía sobre 'limpiar'! –

+5

Nota: pago de git. obviamente no funcionará si no está en la parte superior de su repositorio. 'git reset --hard' funcionará universalmente. – Cascabel

2

puede utilizar "git checkout." o "git checkout HEAD -.", o incluso "git reset --hard HEAD" para restablecer su área de trabajo a estado conocido (a estado registrado en índice en primer caso, a estado registrado en HEAD commit en segundo y tercer caso) .

Para borrar los archivos no registrados que no desea conservar puede usar "git clean" (ver documentation for details).

para conseguir nuevos cambios desde el repositorio remoto que clonados a partir, use "git fetch" (o equivalente "actualización remota git", después de una cierta configuración), o "git pull" (para ir a buscar y combinar los cambios).

-2

También puede utilizar siempre

rm -rf * 
git checkout master 

Menos comandos para recordar :)

+0

Eso no funciona si el maestro ya contiene confirmaciones locales, ya que seguirán allí. –

0

Si realmente fastidias:

git clean -df 
git reset --hard HEAD 
Cuestiones relacionadas