Eliminar un archivo de un repositorio Git sin eliminarlo del sistema de archivos local

Resuelto mveerman asked hace 15 años • 15 respuestas

Quiero eliminar un archivo de mi repositorio.

git rm file_to_remove.txt

eliminará el archivo del repositorio, pero también eliminará el archivo del sistema de archivos local. ¿Cómo elimino este archivo del repositorio sin eliminar mi copia local del archivo?

mveerman avatar Jul 17 '09 21:07 mveerman
Aceptado

La git rmdocumentación dice:

Cuando --cachedse proporciona, el contenido preparado debe coincidir con la punta de la rama o el archivo en el disco, lo que permite eliminar el archivo solo del índice.

Entonces, para un solo archivo:

git rm --cached file_to_remove.txt

y para un solo directorio:

git rm --cached -r directory_to_remove
bdonlan avatar Jul 17 '2009 14:07 bdonlan

Para eliminar una carpeta completa del repositorio (como archivos Resharper), haga esto:

git rm -r --cached folderName

Había comprometido algunos archivos de resharper y no quería que persistieran para otros usuarios del proyecto.

Sam Tyson avatar Apr 04 '2012 18:04 Sam Tyson

Para eliminar archivos del repositorio basado en .gitignore, sin eliminarlos del sistema de archivos local:

git rm --cached `git ls-files -i -c -X .gitignore`

Para WindowsPowershell:

git rm --cached $(git ls-files -i -c -X .gitignore)
null avatar Jan 31 '2014 10:01 null

Según mi respuesta aquí: https://stackoverflow.com/questions/6313126/how-to-remove-a-directory-in-my-github-repository

Para eliminar una carpeta/directorio o archivo solo del repositorio git y no del local, intente 3 sencillos pasos.


Pasos para eliminar el directorio

git rm -r --cached File-or-FolderName
git commit -m "Removed folder from repository"
git push origin master

Pasos para ignorar esa carpeta en las próximas confirmaciones

Para ignorar esa carpeta en las próximas confirmaciones, cree un archivo en la raíz llamado .gitignore y coloque el nombre de esa carpeta en él. Puedes poner tantos como quieras.

El archivo .gitignore se verá así

/FolderName

eliminar directorio

Suresh Karia avatar Aug 24 '2015 12:08 Suresh Karia