Deshacer git update-index --assume-unchanged <archivo>
He ejecutado el siguiente comando para ignorar la visualización/seguimiento de un directorio/archivo en particular:
git update-index --assume-unchanged <file>
¿Cómo puedo deshacer esto para que se <file>
pueda ver/seguir nuevamente?
Para deshacer/mostrar directorios/archivos que están configurados para asumir que no han cambiado, ejecute esto:
git update-index --no-assume-unchanged <file>
Para obtener una lista de directorios/archivos que se assume-unchanged
ejecutan en un shell Unix:
git ls-files -v | grep '^h'
o en un PowerShell:
git ls-files -v | Select-String -CaseSensitive '^h'
Si este es un comando que usa con frecuencia, es posible que desee considerar tener un alias para él también. Añade a tu global .gitconfig
:
[alias]
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
Cómo configurar un alias (si aún no lo sabes):
git config --configLocation alias.aliasName 'command --options'
Ejemplo:
git config --global alias.hide 'update-index --assume-unchanged'
git config... etc
Después de guardar esto en su .gitconfig
, puede ejecutar un comando más limpio.
git hide myfile.ext
o
git unhide myfile.ext
Esta documentación de git fue muy útil.
Según los comentarios, este también es un alias útil para descubrir qué archivos están ocultos actualmente:
[alias]
hidden = ! git ls-files -v | grep '^h' | cut -c3-
Para sintetizar las excelentes respuestas originales de @adardesign, @adswebwork y @AnkitVishwakarma, y los comentarios de @Bdoserror, @Retsam, @seanf y @torek, con enlaces de documentación adicionales y alias concisos...
Comandos básicos
Para restablecer un archivo que se supone que no ha cambiado a la normalidad:
git update-index --no-assume-unchanged <file>
Para enumerar todos los archivos que se supone que no han cambiado:
git ls-files -v | grep '^[a-z]' | cut -c3-
Para restablecer todos los archivos que se asumen sin cambios a la normalidad:
git ls-files -v | grep '^[a-z]' | cut -c3- | xargs git update-index --no-assume-unchanged --
Nota: Este comando que se ha incluido en otra parte ya no parece restablecer todos los archivos que se asumen sin cambios (creo que solía hacerlo y anteriormente lo enumeraba como una solución):
git update-index --really-refresh
Atajos
Para que estas tareas comunes sean fáciles de ejecutar en git, agregue/actualice la siguiente sección de alias.gitconfig
para su usuario (por ejemplo, ~/.gitconfig
en un sistema *nix o macOS):
[alias]
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
unhide-all = ! git ls-files -v | grep '^[a-z]' | cut -c3- | xargs git unhide --
hidden = ! git ls-files -v | grep '^[a-z]' | cut -c3-