내 편집기가 내 소스 파일의 줄 끝을 변경하고 있습니다. 내가 할 때 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를 사용 하고 공백을 표시하도록 환경 설정을 지정하십시오. (편집-> 환경 설정-> 공백 표시.)
다른 그래픽 도구에는 비슷한 옵션이있을 수 있습니다.