2009-08-13 23 views
299

El comando elimina el archivo en mi sistema. Quise eliminar solo el archivo de Git-repository.¿Cómo puedo obtener un archivo sin eliminarlo del disco?

¿Cómo puedo eliminar el archivo de un repositorio de Git, sin quitar el archivo en mi sistema?

+0

eliminarlo de confirmaciones anteriores o de la última? –

+0

@Nick D. La pregunta lo dejó abierto. –

+0

@Masi, si quiere eliminarlo de las confirmaciones anteriores, se volverá un poco más complejo; asegúrese de preguntar específicamente si eso es lo que quiere – bdonlan

Respuesta

557

De acuerdo con "git rm ayuda",

git rm --cached file 

debe hacer lo que quiera.

+7

Soy nuevo en Git, pero he hecho esto algunas veces y luego, cuando alguien más extrae del repositorio, * su * archivo local se elimina. Todavía está buscando para ver si hay manera de no eliminar del próximo desarrollador que hace un pull. – Terry

+2

@Terry, ver http://stackoverflow.com/questions/2604625/git-how-to-remove-file-from-index-without-deleting-files-from-any-repository – AlcubierreDrive

+14

Lo más confuso para mí es que la página man para git-rm dice que no elimina el archivo (s) de su directorio de trabajo. Pero lo que veo cuando no uso --cached es que el archivo está removido. – zznq

22

Intenté experimentar con las respuestas dadas. Mi conclusión personal llegó a ser:

git rm -r --cached . 

Y luego

git add . 

Esto parecía hacer mi directorio de trabajo agradable y limpio. Puedes poner tu fileName en lugar del punto.

+7

+1 '-r': Permitir la eliminación recursiva cuando se da un nombre de directorio principal. –

+1

-r no es necesario si lo hace * .suffix (muy perturbador descubrir este comportamiento de la manera difícil) – szeitlin

Cuestiones relacionadas