2013-10-09 1 views
0

CRLF 줄 끝이있는 파일을 커밋하고 다른 사람이 CRLF 줄 끝을 사용하여 체크 아웃하려고합니다.LF를 체크 아웃시 CRLF로 변환하는 방법

나는 .gitattributes에 다음있어 :

* text=auto 

내가 CRLF 엔딩으로 파일을 추가 할 때, 나는 다음과 같은 메시지가 얻을 : 나는 저장소를 복제 할 경우

warning: CRLF will be replaced by LF in test.cs 
The file will have its original line endings in your working directory. 

를 파일 가져 LF 라인 엔딩으로 복제되었습니다. *.cs text eol=crlf을 설정하여이 문제를 무시할 수 있지만 모든 파일 형식에 대해 수행해야하므로 지원할 수 없습니다.

나는 오해하고 있습니까? 아니면 text=auto가 LF를 다시 CRLF로 변환해서는 안됩니까? 이거 버그 야?

git에서 줄 끝을 변환하는 방법이 있습니까? 아니면, 전혀 변경하지 않는 것이 좋습니다. 우리는 모든 CRLF 파일로 작업/플랫폼은 이상적으로 자식 그냥하는 대신 .gitattributes

* text=auto 

말의 EOL

답변

1

터치

* text eol=crlf 

Dealing with line endings을 인용 언급하지 않았다 :

텍스트 eol = crlf

이 설정은 git에 커밋시 지정된 파일을 표준화하도록 지시하고 은 체크 아웃시 항상 CRLF로 변환합니다. OSX 또는 Linux에서도 CRLF 결말을 유지해야하는 파일에이 값을 사용해야합니다.

+0

내가 그렇게 할 경우 확장자 당 확장명을 지정하거나 이진 파일을 확장자별로 표시해야합니다. 그게 내가 지금하고있는 일이지만 다른 개발자가 내가 고려하지 않고 문제가있는 파일 유형을 추가 할 수 있기 때문에 마음에 들지 않습니다. 당신이 게시 한 내 업데이트에 대해 '나는 오해인가?'라는 줄을 언급 할 수 있습니까? 필자가 적절한 플랫폼에서 체크 아웃하면'text = auto'가 LF를 CRLF로 다시 변환하려고합니다. – Turch

+0

@Turch : git은 바이너리 파일에'text' 설정을 적용하지 않습니다. –

+0

@EdwardThomson하지만'*'는 git에게 모든 파일에'text eol = crlf'을 적용하도록 알려줍니다. 그래서 어떤 파일이 바이너리인지 말해야합니다. '* .dll Binary' – Turch

관련 문제