git - tipos - ¿Puedo obtener una lista de archivos marcados--asumir-sin cambios?
git ver archivos modificados (4)
Un trazador de líneas
git ls-files -v | grep "^[a-z]"
Usar alias
En mi humilde opinión, git hidden
es mejor para archivos marcados como --assume-unchanged
:
git config --global alias.hidden ''!git ls-files -v | grep "^[a-z]"''
Aquí hay una lista de alias relacionados que tengo en ~/.gitconfig
:
[alias]
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
unhide-all = update-index --really-refresh
hidden = !git ls-files -v | grep /"^[a-z]/"
ignored = !git status -s --ignored | grep /"^!!/"
Para hacerlo funcionar en subdirectorios y argumentos de soporte:
hidden = "!f(){ git -C /"$GIT_PREFIX/" ls-files -v /"$@/" | grep /"^[a-z]/";}; f"
ignored = "!f(){ git -C /"$GIT_PREFIX/" status -s --ignored /"$@/" | grep /"^!!/";}; f"
Por ejemplo:
# cd target
# git ignored classes
Acerca del estado del archivo
Para mí, la mayoría de los archivos ocultos están marcados con el indicador h
, aunque en realidad hay varios otros indicadores según el manual de git-ls-files
-v
:
-v Similar to -t, but use lowercase letters for files that are marked as assume unchanged (see git-update-index(1)).
Acerca de git ls-files
-t
:
This option (-t) identifies the file status with the following tags (followed by a space) at the start of each line: H cached S skip-worktree M unmerged R removed/deleted C modified/changed K to be killed ? other
¿Qué he marcado como --assume-unchanged
? ¿Hay alguna manera de averiguar qué he escondido usando esa opción?
.git/
directorio .git/
y no veo nada que se parezca a lo que esperaría, pero debe estar en algún lugar. Olvidé lo que marqué de esta forma hace unas semanas y ahora necesito documentar esos detalles para futuros desarrolladores.
Este comando funciona más consistentemente para mí. Imprimirá solo los archivos que se enumeran como ''supuesto-sin cambios''.
git ls-files -v|grep "^h"
He usado esto muchas veces en diferentes entornos y funciona perfectamente.
Puedes usar git ls-files -v
. Si el carácter impreso es minúscula, el archivo se marcará asumiendo-sin cambiar.
Para imprimir solo los archivos que no han sido modificados use:
git ls-files -v | grep ''^[[:lower:]]''
Para abrazar a su programador perezoso, convierta esto en un alias de git . Edite su archivo .gitconfig
para agregar este fragmento de .gitconfig
:
[alias]
ignored = !git ls-files -v | grep "^[[:lower:]]"
Ahora, escribir git ignored
te dará una salida como esta:
h path/to/ignored.file
h another/ignored.file
Solución PowerShell, no usar grep.
git ls-files -v | sls -pattern ^h -casesensitive