Один лайнер
git ls-files -v | grep "^[a-z]"
Використовуйте псевдоніми
IMHO, git hidden
краще для файлів, позначених як --assume-unchanged
:
git config --global alias.hidden '!git ls-files -v | grep "^[a-z]"'
Ось список пов’язаних псевдонімів у мене ~/.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 \"^!!\"
Щоб він працював у підкаталогах та аргументах підтримки :
hidden = "!f(){ git -C \"$GIT_PREFIX\" ls-files -v \"$@\" | grep \"^[a-z]\";}; f"
ignored = "!f(){ git -C \"$GIT_PREFIX\" status -s --ignored \"$@\" | grep \"^!!\";}; f"
Наприклад:
# cd target
# git ignored classes
Про стан файлу
Для мене більшість прихованих файлів позначені прапором h
, хоча насправді є кілька інших прапорів відповідно до посібника 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)).
Про 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