git : 두 커밋 사이에 변경된 모든 파일 표시
git on riff : 두 커밋 사이에 변경된 모든 파일 표시 : 두 커밋 사이에 변경된 모든 파일 목록이 지금은 동일하더라도 (즉, 변경된 후 다시 변경된 경우).
이것이 내가 생각할 수있는 최선의 방법입니다.
git log --name-only --pretty=oneline --full-index HEAD^^..HEAD | grep -vE '^[0-9a-f]{40} ' | sort | uniq
HEAD ^^ 및 HEAD를 비교하려는 커밋으로 바꿉니다.
내 시도는 지정된 것들 사이의 각 커밋의 모든 파일을 나열 하기 위해 git log
with --name-only
를 사용 합니다. --pretty=oneline
파일 목록 위의 부분이 커밋 SHA와 메시지 제목으로 만 구성되도록합니다. --full-index
SHA를 전체 40 자로 만듭니다. grep
공백이 뒤에 오는 SHA처럼 보이는 것을 필터링합니다. SHA로 시작하는 파일과 공백이없는 경우 결과는 정확해야합니다.
이 명령이 답이라고 생각합니다.
git diff --stat abc123 xyz123 #where abc123 and xyz123 are SHA1 hashes of commit objects
로부터 직선 자식 커뮤니티 책
전체 패치를보고 싶지 않다면 '--stat'옵션을 추가하여 각 파일에서 변경된 줄 수를 나타내는 작은 텍스트 그래프와 함께 변경된 파일로 출력을 제한 할 수 있습니다.
커밋 b
이 연대순으로 끝나는 파일 이름을 보려면 다음을 수행하십시오 a
.
git diff <a commit sha1>...<b commit sha2> --name-only # b is after a in time
모든 파일 이름과 커밋 a에서 커밋 b로 변경된 내용을 보려면 마지막 인수를 삭제하십시오.
git diff <a commit sha1>...<b commit sha2> # shows file names and what changed in each file
의 예 <commit sha1>
는 커밋 ID가 675ee6860d2c273bcc6c6a0536634a107e2a3d9f
. 일반적으로 처음 8-10 자리는 대부분의 프로젝트에서 작동하지만 프로젝트에 커밋이 많으면 더 많이 필요할 수 있습니다. 일반적으로 나는 git log --oneline
.
a ... b와 b의 차이가 a보다 늦을 때 각 파일에서 시간순으로 변경된 내용을 쉽게 확인할 수 있습니다.
이것은 igorw 와 유사 하지만 다음을 통해 SHA 제거를 방지합니다 grep
.
git log --pretty='format:' --name-only HEAD^^..HEAD | sort -u
당신은 추가 파일이 수정 된 방법을보고 싶다면, 교체 --name-only
와 함께 --name-status
.
나는 사용할 것이다; 커밋 해시의 처음 8 개를 가져옵니다. 원하는 경우 아래에 따라 파일로 파이프 할 수 있습니다.
git log 12345678..87654321 > C:\GitChanges.txt
참고 URL : https://stackoverflow.com/questions/3144647/git-show-all-files-changed-between-two-commits
'Programing' 카테고리의 다른 글
Zend Framework에서 이메일 템플릿을 어떻게 만들 수 있습니까? (0) | 2020.11.24 |
---|---|
HashMap을 초기화하는 올바른 방법과 HashMap이 다른 값 유형을 보유 할 수 있습니까? (0) | 2020.11.24 |
자식 복제 후 분기가 표시되지 않습니다. (0) | 2020.11.24 |
CSS에서 상수를 정의 할 수 있습니까? (0) | 2020.11.24 |
C #을 사용하여 SQL Server 테이블 변경을 모니터링하는 방법은 무엇입니까? (0) | 2020.11.24 |