2011-12-13 7 views
1

힘내 DIFF 또는 자식 상태가 표시되지 그러나제거가 나오지 하나의 라이너를 사용하여 수 난 CRLF 문제가있는 파일을 고정

sed -i 's/^M//' <filename> 

를,이 파일에 표시되지 자식 상태와 CR의 제거가 자식은 diff에 표시되지 않은 :이 파일은 일부 .gitignore 또는 유사한 배제의 일부가 아니었다

git diff HEAD -- <filename> 

그냥 확인하기 위해, 나는 끝에 줄 바꿈을 추가 파일을보고 status와 diff 둘 다에서 파일을 볼 수있었습니다.

CR이 제거 된 곳의 변경 사항을 볼 수없는 일부 설정 또는 다른 설정이 있습니까? 나는 vi에서 파일에 들어가서 CR이 실제로 성공적으로 제거되었는지 확인했다. (Ctrl-V, Ctrl-M을 사용하여 sed one-liner의 문자를 만들었다.)

답변

2

core.autocrflfalse으로 설정되어 있는지 확인해야합니다. Diff는 Repo에 저장된 내용에 따라 작동합니다.

또한 vim -b를 사용하여 파일을 검사 할 수 있습니다. 그리고 git show HEAD:path/to/your/file.txt을 사용하여 파일 내용을 스트리밍 할 수 있습니다.

희망이 도움이됩니다.

+0

'cat --show-all'도 crlfs를 표시하기위한 좋은 방법입니다. – patthoyts

+0

나는 다른 문제로 옮겼다. 이제 다시 내가 좋아 보이는 가지로 돌아왔다. 전 autocrlf의 다양한 버전을 시도하고 원래 (리눅스에서 입력) 내 repo 설정을했기 때문에 누군가가 내 글로벌 설정으로 놀고 있다면 궁금해. 내가 원래 이것을 들여다 보았 기 때문에 나는 뽑지 않았다. +1하고이 응답을 제공하는 유일한 이유는 다음과 같습니다. D – Hazok