내가 작업중인 프로젝트에는 pom.xml
이라는 텍스트 파일이 있습니다. 역사를 보면이 파일에는 항상 LF ...로 끝나는 모든 행이 있습니다.왜 내 자식 커밋이 모든 줄을 CRLF로 변경 했습니까?
Windows에서 실행 중이고 git bash를 설치할 때 체크 아웃시 CRLF로 자동 변환되고 커밋시 LF로 돌아갈 수있는 옵션이 있습니다. 다음과 같이 난 그냥이 문제를 확인했습니다 :
git config core.autocrlf
true
문제는 내 커밋 역사마다 한 줄의 변경을 나에게 알려주에서 CR 문자를 포함하고있다 커밋 가장 최근.
방금 다른 텍스트 파일에 약간의 변경을가했지만 내 작업 복사본에 CRLF가 있음을 올바르게 볼 수 있지만 기록을 보면 LF로 표시됩니다. 그래서이 커밋을 위해 CRLF에서 LF로 변환되었습니다. 차이가 나는 경우이 파일은 .drl drools 규칙 파일입니다. 나는 왜 그것이 한 경우에는 작동하지만 다른 것에 대해서는 작동하지 않을 것이라고 이해합니다. 두 파일 모두 이전 버전의 LF를 일관되게 사용했습니다.
몇 가지 다른 파일을 살펴본 결과이 문제가있는 유일한 사람이 아니라는 사실을 알았습니다. 다른 .xml 파일 중 일부는 LF에서 CRLF로 전환됩니다. 이것은 역사를 엉망으로 만든다. 그래서 이것을 정리하고 싶다.
편집
나는이 pom.xml
변화를 포함 커밋, 나 또한 생성 된 두 개의 새로운 자바 클래스를 보면. 이 두 가지 모두 CRLF로 커밋되었으므로 커밋의 각 파일에 잘못된 줄 끝이 있습니다. 같은 시간에 다른 커밋을 확인하면 새로운 파일과 기존 Java 클래스 및 .drl 텍스트 파일의 혼합을 포함하여 모든 파일이 커밋에서 LF로 변환 된 것을 볼 수 있습니다.
'.gitattributes' 파일을 살펴보십시오. https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes –
오늘이 책을 읽었습니다. 나는 아직도 CRLF에서 LF 로의 변환이 왜 실패했는지 이해하지 못한다. –