untrack - Resync git repo con el nuevo archivo gitignore
reset gitignore cache (2)
¿Es posible "actualizar" un repositorio git después de actualizar el archivo gitignore?
Acabo de agregar más ignoraciones (?) A mi gitignore y me gustaría eliminar las cosas que ya están en el repositorio que coinciden con el nuevo archivo.
La solución mencionada en " .gitignore file not ignooring " es un poco extrema, pero debería funcionar:
# rm all files
git rm -r --cached .
# add all files as per new .gitignore
git add .
# now, commit for new .gitignore to apply
git commit -m ".gitignore is now working"
( asegúrese de confirmar primero los cambios que desea mantener para evitar cualquier incidente como los comentarios de jball037 continuación) .
La opción --cached
mantendrá sus archivos intactos en su disco).
También tiene otra solución más detallada en la entrada del blog " Hacer que Git ignore los archivos ya rastreados ":
git rm --cached `git ls-files -i --exclude-standard`
Bassim sugiere en su edición :
Archivos con espacio en sus caminos
En caso de que aparezca un mensaje de error como
fatal: path spec ''...'' did not match any files
, puede haber archivos con espacios en su camino.Puede eliminar todos los demás archivos con la opción
--ignore-unmatch
:
git rm --cached --ignore-unmatch `git ls-files -i --exclude-standard`
pero los archivos no coincidentes permanecerán en su repositorio y deberán eliminarse explícitamente adjuntando su ruta con comillas dobles:
git rm --cached "<path.to.remaining.file>"
Podría malinterpretar, pero ¿está tratando de eliminar archivos recién ignorados o desea ignorar nuevas modificaciones en estos archivos? En este caso, la cosa está funcionando.
Si desea eliminar los archivos ignorados previamente confirmados, utilice
git rm –cached `git ls-files -i –exclude-standard`
git commit -m ''clean up''