undo git update-index assume assume-unchanged
La forma en que git ignora la observación/seguimiento de un dir/archivo en particular. solo tienes que ejecutar esto:
git update-index --assume-unchanged <file>
Ahora, ¿cómo se deshace para que sean observados de nuevo? (vamos a llamarlo un-asumir)
8 answers
Para obtener los archivos/del directorio undo/show que están configurados en assume-unchanged, ejecute :
git update-index --no-assume-unchanged <file>
Para obtener una lista de archivos/dir que son assume-unchanged
ejecute esto :
git ls-files -v|grep '^h'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-07 17:31:11
Si este es un comando que usa a menudo, es posible que desee considerar tener un alias para él también. Añadir a su .gitconfig
global:
[alias]
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
Después de guardar esto en su .gitconfig
, puede ejecutar un comando más limpio.
git hide myfile.ext
O
git unhide myfile.ext
Este recurso fue muy útil
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-23 10:13:52
La función Git update-index tiene varias opciones que puedes encontrar escribiendo de la siguiente manera:
git update-index --help
Aquí encontrará varias opciones - cómo manejar con la función update-index.
[si no conoce el nombre del archivo]
git update-index --really-refresh
[si conoce el nombre del archivo]
git update-index --no-assume-unchanged <file>
Revertirá todos los archivos que se han agregado en la lista de ignorados.
git update-index --assume-unchanged <file>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-17 10:34:22
Asumo (jeh) que querías decir --assume-unchanged
, ya que no veo ninguna opción --assume-changed
. El inverso de --assume-unchanged
es --no-assume-unchanged
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-19 15:58:25
Si desea deshacer todos los archivos que se aplicaron asumen sin cambios con cualquier estado, no solo en caché (git los marca por carácter en minúsculas), puede usar el siguiente comando:
git ls-files -v | grep '^[a-z]' | cut -c 3- | tr '\012' '\000' | xargs -0 git update-index --no-assume-unchanged
-
git ls-files -v
imprimirá todos los archivos con su estado -
grep '^[a-z]'
filtrará los archivos y seleccionará solo asumir sin cambios -
cut -c 3-
eliminará el estado y dejará solo rutas, cortando desde el carácter 3-er hasta el final -
tr '\012' '\000'
reemplazará el carácter de final de línea (\012) a cero carácter (\000) -
xargs -0 git update-index --no-assume-unchanged
pasará todas las rutas separadas por cero carácter agit update-index --no-assume-unchanged
para deshacer
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-01 07:34:34
Agregando a la respuesta de @adardesign
, si desea restablecer todos los archivos que se han agregado a la lista assume-unchanged
a no-assume-unchanged
de una sola vez, puede hacer lo siguiente:
git ls-files -v | grep '^h' | sed 's/^..//' | sed 's/\ /\\ /g' | xargs -I FILE git update-index --no-assume-unchanged FILE || true
Esto simplemente eliminará los dos caracteres de salida de grep, es decir, "h "
, luego escapará cualquier espacio que pueda estar presente en los nombres de los archivos, y finalmente || true
evitará que el comando termine prematuramente en caso de que algunos archivos en el bucle tengan errores.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-13 08:59:44
Para sintetizar las excelentes respuestas originales de @adardesign, @adswebwork y @AnkitVishwakarma y los comentarios de @Bdoserror y @Retsam, con enlaces de documentación adicionales y un alias de shell...
Comandos Básicos
A restablecer un archivo que es asumir-sin cambios volver a la normalidad:
git update-index --no-assume-unchanged <file>
A listar todos los archivos que se asumen sin cambios:
git ls-files -v | grep '^[a-z]' | cut -c3-
To reset all assume-unchanged files back to normal:
git update-index --really-refresh
Atajos
Para que estas tareas comunes sean fáciles de ejecutar en git, agregue la siguiente sección a .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 = update-index --really-refresh
hidden = ls-files -v
Para facilitar la ejecución de la lista de todos los archivos que se asumen sin cambios en un shell que soporta alias (como bash), cree un alias como:
alias git-hidden="git hidden | grep '^[a-z]' | cut -c3-"
Para shells sin alias, un script podría hacer el truco.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-16 16:20:28
Si estás usando Extensiones de Git , sigue los siguientes pasos:
- Vaya a la ventana de confirmación.
- Haga clic en el menú desplegable llamado Cambios en el directorio de trabajo.
- Seleccione Mostrar assummed-archivos sin cambios opción.
- Haga clic derecho en el archivo que desea eliminar.
- Select Do no assumme unchanged.
Has terminado.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-22 05:06:40