He cometido un montón de archivos que ahora quiero ignorar. ¿Cómo puedo decirle a git que ahora ignore estos archivos de futuras confirmaciones?
EDITAR: también quiero eliminarlos del repositorio. Son archivos creados después de la compilación o para el soporte de herramientas específicas del usuario.
Respuestas:
.gitignore
para que coincida con el archivo que desea ignorargit rm --cached /path/to/file
Ver también:
fuente
Después de editar
.gitignore
para que coincida con los archivos ignorados, puede hacergit ls-files -ci --exclude-standard
para ver los archivos que se incluyen en las listas de exclusión; entonces puedes hacerpara eliminarlos del repositorio (sin eliminarlos del disco).
Editar : también puede agregar esto como un alias en su archivo .gitconfig para que pueda ejecutarlo cuando lo desee. Simplemente agregue la siguiente línea en la sección [alias] (modifique según sea necesario para Windows o Mac):
(La
-r
marca enxargs
evita que segit rm
ejecute en un resultado vacío e imprima su mensaje de uso, pero solo GNU findutilsxargs
puede admitirlo. Otras versiones de mayo o mayo no tienen una opción similar).¡Ahora puede escribir
git apply-gitignore
su repositorio y hará el trabajo por usted!fuente
!
git anterior? bueno ... el mío funcionó comoalias apply-gitignore="git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached"
. tks!for /F "tokens=*" %a in ('git ls-files -ci --exclude-standard') do @git rm --cached "%a"
-r
es predeterminado y no es aceptado por las versiones BSD. Así que elimínalo-r
.para dejar el archivo en el repositorio pero ignorar los cambios futuros en él:
y para deshacer esto:
para averiguar qué archivos se han configurado de esta manera:
crédito por la respuesta original a http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/
fuente
git ls-files -ci --exclude-standard -z | xargs -0 git update-index --assume-unchanged
si eso ayuda.git rm --cached
eliminará el archivo en el repositorio, lo que no satisface la necesidad de quizzer. Gracias. Realmente lo aprecio. Tu respuesta me ayuda mucho.Asegúrese de que su repositorio real sea la última versión
.gitignore
como quierasgit rm -r --cached .
git add .
luego cometer como de costumbre
fuente
git reset HEAD
(Recuerde guardar cualquier cambio)Antigua pregunta, pero algunos de nosotros estamos en
git-posh
(powershell). Esta es la solución para eso:fuente
Sigue estos pasos:
Agregar ruta al
gitignore
archivoEjecute este comando
cometer cambios como de costumbre.
fuente