git-> 특정 디렉토리의 최근 커밋에서 변경된 파일 목록 표시


답변:


164

이것은 추가됨 (A), 복사 됨 (C), 삭제됨 (D), 수정 됨 (M), 이름 변경됨 (R) 등 파일 상태를 표시하므로 svn 명령과 더 유사합니다.

git log --name-status -10 path/to/dir

에 대한 전체 문서 페이지를 살펴볼 가치가 git log있습니다. 거기 -10에서 지난 10 개의 커밋 을 참조 하는 것을 배우고 -p다양한 다른 혜택 중에서 전체 패치를 제공 할 것입니다.


12
완전성을 위해 : 일반적으로 사용되는 유사한 옵션 세트는 -p(전체 패치), --stat(변경된 행 수), --numstat(예를 --stat들어 컴퓨터가 읽을 수있는) --name-status, 및 --name-only(파일 이름 만)입니다.
Cascabel

3
이미 알지 못하고이 질문에 오는 사람에게 -10은 표시하려는 커밋 수를 나타냅니다. 포괄적 인 커밋 목록이 필요한 경우 필요에 따라 숫자를 -1000 이상과 같이 비정상적으로 크게 만드십시오.
Julian Soro 2015 년

특정 커밋 또는 레이블 이후의 기록을 볼 수도 있습니까? 그것은 ... 그것을 계산, 전 그렇게 노력하고 커밋 수백입니다
MrFox

2
@MrFox git log <from revision>.., 예 : git log abc123... 여기에 다양한 형식에 대한 자세한 읽기 : kernel.org/pub/software/scm/git/docs/...
htanata

36

커밋 정보없이 마지막 10 개 커밋에서 변경된 모든 파일을 표시하려면 다음을 수행하십시오.

git diff --name-only HEAD~10..HEAD yourdir

3
편집기에서 파일을 다시 열기위한 완벽한 솔루션입니다.
cdosborn jul.

1
이 솔루션은 파일 경로 만 나열하고 주석은 표시 하지 않습니다 . 원하는 모든 것이 지정된 커밋에서 변경된 파일 목록이고이 솔루션은 .
Big Rich

6

하려고

git log -p -10 yourdir/

작동합니다.


1
OP는 전체 패치가 아닌 변경된 파일 목록을 요청했습니다.
Cascabel

1
파일 목록을 변경하려면 -p 대신 --stat를 수행 할 수 있습니다.
blue112

1

모든 commit브랜치 (최근 및 이전) 를 표시하려면 브랜치의 커밋 수를 계산해야합니다.

git rev-list --count branch_name

모든 커밋 수를 얻으면 다음을 실행할 수 있습니다.

git log --name-status -countNumber /path

그리고 위 --pretty=onelinegit log명령에 옵션을 추가하여보기를 단순화 할 수 있습니다 . | sort | uniq명령을 추가하면 htanata의 답변에
XavierStuvw
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.