Program Tip

git ls-files : 새 파일을 식별하는 방법 (추가됨, 커밋되지 않음)?

programtip 2020. 11. 27. 21:11
반응형

git ls-files : 새 파일을 식별하는 방법 (추가됨, 커밋되지 않음)?


git add <file>명령 git status호출 하면 다음과 같은 내용이 표시됩니다.

...
new file:    <file>

어떻게 든을 사용하여 동일한 정보를 얻도록 관리 할 수 ​​없으며 ls-files( ls-files -tc이 경우) 표시됩니다.

H <commited file>
H <other commited file>
H <file>

새 파일에 대한 명령 줄 스위치가없는 것 같습니다. 파일이 캐시 된 것으로보고됩니다. 이것은 괜찮습니다. 그러나 현재 커밋되지 않았 음을 어떻게 알 수 있습니까?

ls-files또는 유사한 명령으로 가능 합니까 (의 경우와 같이 많은 출력을 구문 분석 할 필요가 없습니다 git status)?


당신은 사용할 git diff --cached. 이를 통해 --name-onlyHEAD와 관련된 색인에서 변경 한 모든 파일을 나열합니다. 으로 --name-status당신도 상태 기호를 얻을 수 --diff-filter있습니다 (예를 들어, 새로 추가 된 파일을 'A')를 표시하려는 파일의 어떤 설정을 지정할 수 있습니다. 사용하여 -M이동 감지와 설정하는 -C당신이 그들을 원하는 경우 복사 검출.

작성한 내용을 가장 엄격하게 읽으 git diff --cached --name-only --diff-filter=A려면 HEAD에 존재하지 않는 HEAD 이후에 추가 한 모든 파일을 나열합니다.


설명 : 추가 하려는 파일을 표시하는 방법 입니다. 이것은 OP가 찾던 것이 아니지만 다른 사람들에게 유용 할 경우를 대비하여이 게시물을 남길 것입니다.

이것은 [색인이 아닌 작업 복사본에] 추가 했지만 표준 무시 패턴과 일치하지 않는 파일 만 표시하는 것 같습니다 .

 $ git ls-files --others --exclude-standard

없는 --exclude-standard경우 실행시 무시되는 파일도 표시됩니다 git status.

참고 URL : https://stackoverflow.com/questions/2298047/git-ls-files-howto-identify-new-files-added-not-committed

반응형