git-diff 및 git 로그가 새 파일 및 삭제된 파일을 무시하도록 만드는 방법은 무엇입니까?
때때로 몇 개의 변경된 파일과 새 파일, 삭제된 파일 및/또는 이름이 변경된 파일이 있습니다.할 때git diff
또는git-log
수정 사항을 더 잘 찾을 수 있도록 생략하고 싶습니다.
실제로 새 파일과 삭제된 파일의 이름을 내용 없이 나열하는 것이 가장 좋습니다."old"가 "new"로 이름이 바뀐 경우 "old"와 "new"의 차이를 선택적으로 얻고 싶습니다.
그--diff-filter
옵션은 두 가지 모두에서 작동합니다.diff
로그를 기록합니다.
사용합니다--diff-filter=M
diff 출력을 내용 수정으로만 제한하는 로트.
이름과 복사본을 검색하고 diff 출력에 사용하려면 다음을 사용합니다.-M
그리고.-C
각각, 함께.R
그리고.C
에 대한 옵션.--diff-filter
.
공식 문서:
--diff-filter=[(A|C|D|M|R|T|U|X|B)…[*]]
추가된 파일(A), 복사된 파일(C), 삭제된 파일(D), 수정된 파일(M), 이름이 변경된 파일(예: 일반 파일, 심볼 링크, 하위 모듈 등), 병합되지 않은 파일(U), 알 수 없음 파일(X) 또는 쌍이 깨진 파일(B)만 선택합니다.필터 문자(없음 포함)의 모든 조합을 사용할 수 있습니다.
*(모두 또는 없음)를 조합에 추가하면 비교의 다른 기준과 일치하는 파일이 있으면 모든 경로가 선택되고, 다른 기준과 일치하는 파일이 없으면 아무것도 선택되지 않습니다.
또한 이러한 대문자는 소문자로 구분하여 제외할 수 있습니다.예: --diff-filter=ad는 추가 및 삭제된 경로를 제외합니다.
예: 추가, 복사, 수정된 파일만 표시:
git diff --diff-filter=ACM
또한 이러한 대문자는 소문자로 구분하여 제외할 수 있습니다.
예.--diff-filter=ad
추가 및 삭제된 경로를 제외합니다.
당신의 경우에는,git diff --diff-filter=ad
Git 2.36(Q2220)이 없는 한 동일한 필터에서 소문자와 대문자를 사용하지 마십시오.
이제git diff --diff-filter=aR
(man) 올바르게 구문 분석되었습니다.
커밋 75408ca, 커밋 4d4ea, 커밋 843e31 (2022년 1월 28일)을 요하네스 쉰들린()dscho
참조.
(주니오 C 하마노에 의해 합병 -- -- 2022년 2월 16일 커밋 9a16099에서)
부정적인 비트를 찾을 때 더
diff-filter
주의하십시오.사인 오프 바이: 요하네스 쉰들린
그
--diff-filter=<bits>
옵션을 사용하면 특정 기준에 따라 차이를 필터링할 수 있습니다(예:R
이름이 변경된 파일만 표시합니다.
또한 다운 케이스 문자(즉, 다운 케이스 문자)를 통해 필터를 비활성화할 수 있습니다.
r
이름이 바뀐 파일을 제외한 모든 파일을 표시합니다.그러나 사용자가 소문자 문자를 제공했기 때문에 모든 diff-filter를 켜놓고 시작해야 하는지 여부를 파악하려고 할 때 코드가 약간 지나치게 열성적입니다.
--diff-filter
인수는 대문자로 시작합니다. 모든 비트를 켠 상태에서 시작해서는 안 됩니다.은, 필터를 여러 개별 할 수 있다는 를 들어, 더 나 것 은 여 서 에 옵 지 것 수 니 입 다 있 는 다 할 정 를 터 쁜 필 션 별 개 개 의 러 , ▁even 다 니 ▁in ▁the 더 입
--diff-filter=AM [...] --diff-filter=m
.포함/제외 필터를 독립적으로 누적하고 옵션을 모두 구문 분석한 후 "제외 필터만 지정됨" 사례만 특수하게 누적합니다.
업데이트:Charles Bailey가 수락한 답은 정확합니다. 원하는 기능은 이미 git에 내장되어 있습니다.
깃에 내장되어 있지 않은 것들에 대한 아이디어를 제공할 수 있기 때문에 이 답변을 여기에 남깁니다.
git diff
에서는 새 을 새파 일삭 에비표니다시합과 줍니다./dev/null
찾는 것을 쓰는 것은 그리 어렵지 않을 것입니다 (저는 펄을 직접 사용할 것입니다)./dev/null
그리고 다음 차이까지 다음 줄을 걸러냅니다.그리고나서git diff ... | the-filter
.
파일 이름을 변경하는 것은 별개의 문제입니다. 저는 아직 그것에 대해 좋은 답을 가지고 있지 않습니다.
언급URL : https://stackoverflow.com/questions/6894322/how-to-make-git-diff-and-git-log-ignore-new-and-deleted-files
'itsource' 카테고리의 다른 글
__repr__ 메서드의 목적은 무엇입니까? (0) | 2023.07.06 |
---|---|
SQL Server 2008:테이블의 열이 기존 기본 키 또는 고유 제약 조건과 일치하지 않습니다. (0) | 2023.07.06 |
가장 간단한 RGB 이미지 형식은 무엇입니까? (0) | 2023.07.01 |
iOS 11의 앱에 자동 푸시가 제공되지 않음 (0) | 2023.07.01 |
SQL 서버에서 쿼리의 텍스트를 연결하려면 어떻게 해야 합니까? (0) | 2023.07.01 |