RATSENO

[git]CRLF(LF) will be replaced by LF(CRFL) 에러 본문

ETC/GIT

[git]CRLF(LF) will be replaced by LF(CRFL) 에러

RATSENO 2020. 2. 11. 10:56

터미널을 이용하여 git을 사용할 경우

warning: LF will be replaced by CRLF in .......

또는 CRLF will be replaced by LF in... 과 같은 에러 메세지가 출력될 때가 있습니다.

 

이는 맥 또는 리눅스를 쓰는 개발자와 윈도우 쓰는 개발자가 Git으로 협업할 때 발생하는 Whitespace 에러입니다.

유닉스 시스템에서는 한 줄의 끝이 LF(Line Feed)로 이루어지는 반면,

윈도우에서는 줄 하나가 CR(Carriage Return) LF(Line Feed), 즉 CRLF로 이루어지기 때문입니다.

따라서 어느 한 쪽을 선택할지 Git에게 혼란이 온 것입니다.

 

만약 개행문자가 잘못된 상태로 파일이 올라가고 이를 실행하였을 경우 (예를들어 HTML)

개발자 도구로 디버깅을 시도 시 개행문자가 잘못 인식되어 정상적인 동작을 하지 않을때가 있습니다. ㅠㅠ

 

유닉스 OS을 쓰고 있다면 CRLF will be replaced by LF in… 에러 메시지가 뜰 것이고,

윈도우를 사용하고 있다면 LF will be replaced by CRLF in… 에러 메시지가 뜰 것입니다.

 

먼저 해결방법은 

git config --global core.autocrlf true

이 기능은 개발자가 git에 코드를 추가했을 때 (예컨대 커밋할 때)에는 CRLF를 LF로 변환해주고,

git의 코드를 개발자가 조회할 때 (예컨대 clone한다거나 할 때)에는 LF를 CRLF로 변환해줍니다.

 

출처 : https://blog.jaeyoon.io/2018/01/git-crlf.html

Comments