git-diff 및 git log가 새 파일과 삭제 된 파일을 무시하도록 만드는 방법은 무엇입니까?
때로는 새로운 파일, 삭제되거나 이름이 바뀐 파일과 함께 변경된 파일이 몇 개 있습니다. 할 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), 이름이 변경된 파일 (R) 만 유형 (예 : 일반 파일, 심볼릭 링크, 하위 모듈 등)이 변경된 파일 (T)을 선택하십시오. 병합되지 않음 (U), 알 수 없음 (X) 또는 페어링 끊어짐 (B)이 있습니다. 필터 문자의 조합 (없음 포함)을 사용할 수 있습니다.
* (모두 또는 없음)이 조합에 추가되면 비교에서 다른 기준과 일치하는 파일이 있으면 모든 경로가 선택됩니다. 다른 기준과 일치하는 파일이 없으면 아무것도 선택되지 않습니다.
또한이 대문자는 소문자로 제외 할 수 있습니다. 예를 들어 --diff-filter = ad는 추가 및 삭제 된 경로를 제외합니다.
예 : 추가, 변경 및 수정 된 파일 만 표시 삭제 된 파일을 제외합니다.
git diff --diff-filter=ACM
UPDATE : 허용 대답 찰스 베일리에 의해 올바른 하나입니다; 원하는 기능은 이미 git에 내장되어 있습니다.
이 답변은 git에 내장되지 않은 것들에 대한 아이디어를 제공 할 수 있으므로 여기에 남겨 두겠습니다.
git diff
새 파일과 삭제 된 파일을와 비교하여 표시합니다 /dev/null
. /dev/null
다음 줄까지 다음 줄을 찾아서 필터링하는 무언가를 작성하는 것이 너무 어렵지 않아야합니다 (Perl을 직접 사용합니다) . 그런 다음 git diff ... | the-filter
.
이름이 바뀐 파일은 다른 문제입니다. 나는 (아직) 그것에 대한 좋은 대답이 없습니다.
'Programming' 카테고리의 다른 글
함수 포인터 배열을 어떻게 사용합니까? (0) | 2020.06.19 |
---|---|
HTML5 비디오를 전체 화면으로 만드는 방법이 있습니까? (0) | 2020.06.19 |
MarkDown에 SVG (github에서 호스팅) 포함 (0) | 2020.06.19 |
PHP-스트림을 열지 못했습니다 : 해당 파일이나 디렉토리가 없습니다 (0) | 2020.06.19 |
파이썬에서 exit (0)과 exit (1)의 차이점 (0) | 2020.06.19 |