답변:
사용할 수 있습니다 git ls-files -v
. 인쇄 된 문자가 소문자 인 경우 파일은 변경되지 않은 것으로 표시됩니다.
변경되지 않은 파일 만 인쇄하려면 다음을 사용하십시오.
git ls-files -v | grep '^[[:lower:]]'
게으른 프로그래머를 받아들이려면 이것을 git alias 로 바꾸십시오 . .gitconfig
이 스 니펫을 추가하려면 파일을 편집하십시오 .
[alias]
ignored = !git ls-files -v | grep "^[[:lower:]]"
이제 입력 git ignored
하면 다음과 같이 출력 됩니다 .
h path/to/ignored.file
h another/ignored.file
[alias]
의 섹션 내 .gitconfig
:ignored = !git ls-files -v | grep "^[[:lower:]]"
git ls-files -v `git rev-parse --show-toplevel` | grep "^[a-z]"
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
나를 위해 대부분의 숨겨진 파일은 flag로 표시 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
hidden = "!f() { git ls-files -v \"$@\" | grep \"^[a-z]\"; }; f"
과 같습니다 ignored = "!f() { git status -s --ignored \"$@\" | grep \"^!!\"; }; f"
. 예를 들어, git ignored -- PATH1 PATH2
특정 경로에 무시 된 파일 만 나열 할 수 있습니다 (무시 된 파일이 많은 경우에 유용).
이 명령은 더 일관되게 작동합니다. '가정되지 않은 것으로 가정'된 파일 만 인쇄합니다.
git ls-files -v|grep "^h"
나는 다른 환경에서 이것을 많이 사용했으며 완벽하게 작동합니다.
grep "^h"
작은 따옴표 대신 사용하십시오