내 편집기가 내 소스 파일의 줄 끝을 변경하고 있습니다. 내가 할 때 git diff
, 나는 눈에 띄는 차이없이 같은 줄을 두 번-한 번은 한 번 -
, 한 번은 +
-봅니다.
git diff
이 변경 사항이 실제로 무엇인지 어떻게 보여줄 수 있습니까?
답변:
먼저 컬러 출력 (예 git diff --color
:)을 사용하고 있고 공백 강조 표시를 활성화 했는지 확인하십시오 (예 :
git config color.diff.whitespace "red reverse"
그러나 제거 된 줄의 git
후행 공백을 강조 표시하지 않기 때문에 모든 경우에 작동 하지 않을 수 있습니다. 삭제 한 공백을 보려면 다음을 사용하십시오.
git diff -R
비교의 '추가 된'쪽에 공백을 넣으면 강조 표시됩니다.
자세한 내용은 이 SO 질문 의 답변을 참조하십시오 .
000000f0 2d 2d 7d 0a 2b 2b 7d 0a |--}.++}.|
. 7d는 '}'중괄호입니다.
다음 명령으로 줄 끝 차이를 확인할 수 있습니다.
git diff | cat -v
그런 다음 CRLF (DOS) 종료에는 "^ M"이 인쇄되고 LF (Unix) 종료에는 아무것도 인쇄되지 않습니다.
분명히 git diff는 CRLF 종료를 위해 CR 및 LF 문자를 인쇄하여 올바른 일을하고 있습니다. 그러나 CR은 콘솔에서 사용되기 때문에 볼 수 없습니다. cat -v를 사용하여 표시 할 수 있습니다.
git diff > somediff && vi somediff
vim이 CRLF를 ^ M으로 표시하는 것입니다. 하지만 cat -v
깔끔합니다.
cat
내가 알지 못했던 옵션을 배울 수있게 해준다 . :-)
그래픽 비교 도구가 변경 사항을 더 잘 보여줄 것 git difftool
입니다. 시도해보십시오 .
meld를 사용 하고 공백을 표시하도록 환경 설정을 지정하십시오. (편집-> 환경 설정-> 공백 표시.)
다른 그래픽 도구에는 비슷한 옵션이있을 수 있습니다.
git difftool --tool=meld doesn't
심지어 meld를 시작하십시오. 리베이스가 진행 중인지 아닌지 모르겠습니다.
git config diff.wsErrorHighlight all