로컬 git repo에 파일을 나열 하시겠습니까?


347

Git을 사용하여 랩톱과 백업 서버간에 파일을 동기화하는 Sparkleshare를 사용하고 있습니다.

이제 서버에 업로드 한 파일과 디렉토리를 찾아보고 싶지만 어떻게해야할지 모르겠습니까?

Git은 일종의 특수 파일 계층 구조를 사용하며 파일을 나열 할 수 없다는 것을 알고 있습니다.

그러나 파일을 나열하고 파일을 찾아 보려면 어떻게해야합니까?

답변:


568

이 명령은

git ls-tree --full-tree -r --name-only HEAD

git repo가 ​​추적하고있는 이미 커밋 된 파일을 모두 나열합니다.


338

이 명령을 시도하십시오 :

git ls-files 

준비되었지만 아직 커밋되지 않은 파일을 포함하여 리포지토리의 모든 파일이 나열됩니다.

http://www.kernel.org/pub/software/scm/git/docs/git-ls-files.html


3
위의 답변과 동일한 출력이지만 --name-only (짧은 형식). 좋은 도자기.
Ron E

21
한가지 주목할 점 : 수락 된 답변은 베어 레포에서 작동하지만이 답변은 그렇지 않습니다.
Trebor Rude

1
이 Git 명령은 훨씬 더 깔끔한 출력을 제공하며 Git에서 추적 한 파일 목록 만 원하는 경우에 이상적입니다.
mico

direcotries 만 나열하는 방법이 git ls-directories 있습니까?
Ramesh Pareek

12
경고 : 하위 디렉토리에있는 경우 해당 트리 아래의 파일 만 나열됩니다. 질문에 "저장소에있는 모든 파일"이 표시되지만 저장소의 루트에있는 경우에만 해당됩니다.
wim

2

git ls-tree --full-tree -r HEAD그리고 git ls-files한 번에 모든 파일을 반환합니다. 수백 또는 수천 개의 파일이있는 대규모 프로젝트의 경우 특정 파일 / 디렉토리에 관심이있는 경우 특정 디렉토리를 탐색하는 것이 더 편리 할 수 ​​있습니다. 탐색하고 사용하려는 디렉토리의 ID / SHA-1을 확보하여이를 수행 할 수 있습니다 git cat-file -p [ID/SHA-1 of directory]. 예를 들면 다음과 같습니다.

git cat-file -p 14032aabd85b43a058cfc7025dd4fa9dd325ea97
100644 blob b93a4953fff68df523aa7656497ee339d6026d64    glyphicons-halflings-regular.eot
100644 blob 94fb5490a2ed10b2c69a4a567a4fd2e4f706d841    glyphicons-halflings-regular.svg
100644 blob 1413fc609ab6f21774de0cb7e01360095584f65b    glyphicons-halflings-regular.ttf
100644 blob 9e612858f802245ddcbf59788a0db942224bab35    glyphicons-halflings-regular.woff
100644 blob 64539b54c3751a6d9adb44c8e3a45ba5a73b77f0    glyphicons-halflings-regular.woff2

위의 예 14032aabd85b43a058cfc7025dd4fa9dd325ea97에서 탐색하려는 디렉토리의 ID / SHA-1입니다. 이 경우, 해당 디렉토리 내의 4 개의 파일이 내 Git 저장소에 의해 추적되고있었습니다. 디렉토리에 추가 파일이 있으면 추가 파일이 추적되지 않았 음을 의미합니다. git add <file>...물론 파일을 추가 할 수 있습니다 .


cd관심있는 디렉토리로 이동하여 생략 할 수도 있습니다 --full-tree.
나단
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.