현재 git에서 소스 제어하에 있는 모든 파일을 나열하는 방법이 있습니까? (수정된 것만이 아닙니다).
답변1
답변2
이 git ls-files
명령은 필요한 작업을 수행합니다.
원천:http://www.kernel.org/pub/software/scm/git/docs/git-ls-files.html
답변3
git ls-files
현재 작업 디렉토리의 파일만 인쇄합니다.
예를 들어 도트 파일( )에 대한 git 저장소가 있는 경우 core.worktree = /
git 루트 외부에 파일이 있게 되며 이 간단한 명령은 더 이상 작동하지 않습니다.
즉, 다음과 같이 작동합니다.
git --git-dir "`git rev-parse --git-dir`" \
-C "`git config core.worktree || pwd`" \
ls-files
예:
mkdir ~/dotfiles
cd ~/dotfiles
git config core.worktree /
# Ignore all files by default, else Git will find all files under "/"
echo "*" > .git/info/exclude
# Add files at the git repo's root and somewhere in the work tree
touch README
git add -f README
git add -f /etc/ssh/sshd_config
# `git status` would now print:
# new file: ../../../etc/ssh/sshd_config
# new file: README
git status
git commit -m "Initial commit"
# At this point, `git ls-files` prints only:
# README
git ls-files
# But you can print all files inside the work tree. This will print:
# etc/ssh/sshd_config
# home/yourusername/dotfiles/README
git --git-dir "`git rev-parse --git-dir`" -C "`git config core.worktree || pwd`" ls-files
경로를 지정하려는 경우상대적인현재 (셸) 디렉터리에 다음 작업을 수행합니다.
alias gls='git ls-tree -r master --name-only HEAD "`git config core.worktree`"'
위의 예에서는 인쇄됩니다.
README
../../../etc/ssh/sshd_config
답변4
이미지를 살펴보십시오. 오른쪽에는 패치와 트리의 두 가지 옵션이 있습니다. 트리를 선택하면 각 커밋의 폴더 구조를 볼 수 있습니다.