[git] git diff-줄 끝 변경 표시?

내 편집기가 내 소스 파일의 줄 끝을 변경하고 있습니다. 내가 할 때 git diff, 나는 눈에 띄는 차이없이 같은 줄을 두 번-한 번은 한 번 -, 한 번은 +-봅니다.

git diff이 변경 사항이 실제로 무엇인지 어떻게 보여줄 수 있습니까?



답변

먼저 컬러 출력 (예 git diff --color:)을 사용하고 있고 공백 강조 표시를 활성화 했는지 확인하십시오 (예 :

git config color.diff.whitespace "red reverse"

그러나 제거 된 줄의 git후행 공백을 강조 표시하지 않기 때문에 모든 경우에 작동 하지 않을 수 있습니다. 삭제 한 공백을 보려면 다음을 사용하십시오.

git diff -R

비교의 ‘추가 된’쪽에 공백을 넣으면 강조 표시됩니다.

자세한 내용은 이 SO 질문 의 답변을 참조하십시오 .


답변

다음 명령으로 줄 끝 차이를 확인할 수 있습니다.

git diff | cat -v

그런 다음 CRLF (DOS) 종료에는 “^ M”이 인쇄되고 LF (Unix) 종료에는 아무것도 인쇄되지 않습니다.

분명히 git diff는 CRLF 종료를 위해 CR 및 LF 문자를 인쇄하여 올바른 일을하고 있습니다. 그러나 CR은 콘솔에서 사용되기 때문에 볼 수 없습니다. cat -v를 사용하여 표시 할 수 있습니다.


답변

공백 변경을 확인하는 한 가지 방법은 다음을 사용하여 문자 별 “단어 차이”를 수행하는 것입니다.

git diff --color --word-diff-regex=.

이것은 줄의 모든 공백 변경을 강조합니다 . 제거 된 공백은에 싸여 [--]과에 공백을 추가 {+하고 +}.

또는 Alex가 제안한 대로

git diff --color --ws-error-highlight=new,old

줄 끝의 모든 공백 변경 사항을 강조 표시합니다 .


답변

git diff --ws-error-highlight=new,old

변경된 줄에서 공백 차이를 강조 표시합니다.


답변

그래픽 비교 도구가 변경 사항을 더 잘 보여줄 것 git difftool입니다. 시도해보십시오 .

meld를 사용 하고 공백을 표시하도록 환경 설정을 지정하십시오. (편집-> 환경 설정-> 공백 표시.)

다른 그래픽 도구에는 비슷한 옵션이있을 수 있습니다.


답변