tag - ignorar archivos git
No se pueden eliminar archivos de Git de forma recursiva (4)
¿Quieres eliminarlos incluso si hay modificaciones locales?
git rm -rf bin/*
¿O desea eliminar del índice, pero guardar los archivos ellos mismos?
git rm -r --cached bin/*
Prueba también:
git help rm
Quiero eliminar todos los archivos de Git en ~ / bin /.
Corro
git rm -r --cached ~/.vim/* # Thanks to Pate in finding --cached!
yo obtengo
fatal: pathspec ''.vim/colors'' did not match any files
Este mensaje de error me sugiere usar los siguientes PATH, ya que ~ / .vim / ** no funciona
~/.vim/* # I get the error
~/.vim/*/*/* # This removes files from the index at ~/.vim/folderA/folderB/file1.txt
~/.vim/*/* # similar error as to the first PATH
¿Cómo puedes eliminar todos los archivos y subdirectorios en ~ / .vim de Git?
-
Debes entender lo que *
hace un poco primero.
Las aplicaciones no ven *
(u otros caracteres globbing): reciben todas las coincidencias del glob como argumentos individuales.
Para entender esto mejor, pon echo
en frente de tu primer comando y mira lo que imprime:
git rm -r --cached ~/.vim/*
Verá cada coincidencia individual, incluidas las cosas que el programa no sabe cómo operar (que incluye .vim/colors
).
O podría ser que el directorio que está intentando eliminar de forma recursiva esté en la lista .gitignore. Acabo de encontrar esto. Tengo ./vendors en mi lista de ignorados, y hay un montón de directorios bajo ./vendors, pero como se ignora cualquier cosa en los proveedores, no se está eliminando nada como ./vendors/assetic porque no está realmente en el repositorio. Olvidé que estaba en la lista de ignorar :)
git rm -r --cached ~/.vim/*
fatal: pathspec ''.vim/colors'' did not match any files
1 / No necesitas el '' *
'':
git rm -r --cached ~/.vim
se hará cargo de los subarchivos rastreados.
2 / fatal: pathspec ''.vim/colors'' did not match any files
simplemente significa que uno de los comandos que probó antes de que el que figura en 1 / ha funcionado, ¡y no hay más archivos para eliminar!
# to test that command, first reinitialize the state of the repository
# save first if you have any other current modifications
$ git reset --hard
# then check the rm works
$ git rm -r --cached ~/.vim
rm ''.vim/aPath/aFile1''
rm ''.vim/aSecondPath/aFile2''
rm ''.vim/aThirdPath/aFile3''
# try it again
$ git rm -r --cached ~/.vim
fatal: pathspec ''.vim/colors