warning: in the working copy of 'README.md', LF will be replaced by CRLF the next time Git touches it
Git이 다음에 해당 파일을 터치할 때 LF가 CRLF로 대체된다는 점에 대한 에러메시지
개행문자와 Git
개행문자는 CR (carriage-return)와 LF (linefeed) 두 가지 주요 문자로 이루어져 있습니다. 이 개행문자는 플랫폼 별로 서로 다른 조합으로 사용됩니다. 이 점이 문제를 일으킬 수 있어 형상관리 시스템이 경고를 띄워주는 것입니다.
autocrlf 설정 실패
처음 시도한 해결책은 autocrlf
설정을 변경하는 것이었습니다. 이 설정은 개행문자를 자동으로 변환해주는 역할을 합니다. 아래와 같이 설정할 수 있습니다.
true
: 커밋 시점에 CRLF를 LF로 변환하고, 체크아웃 시점에 LF를 CRLF로 변환합니다.false
: 변환하지 않습니다. 문제가 발생할 수 있으니 자제하는 게 좋다고 합니다.
git config --global core.autocrlf true
그러나 autocrlf
설정을 변경해도 문제가 해결되지 않았습니다.
safecrlf 설정으로 해결
그러던 중, safecrlf
설정을 사용하여 변환 기능을 사용하지 않은 채 에러 메시지만 뜨지 않도록 하는 방법을 알게 되었습니다. safecrlf
설정은 개행문자 사용을 의도적인 것으로 판단하여 autocrlf
가 변환을 수행하지 않도록 하는 역할을 합니다.
윈도우 환경에서만 작업 중이라면, safecrlf
설정을 false
로 변경하는 것으로 문제를 해결할 수 있습니다. 이 설정을 변경하면 autocrlf
설정에 따라 변환을 수행하게 됩니다. (저는 혹시 몰라 autocrlf는 true로 두었습니다)
git config --global core.safecrlf false
이걸로 개행문자 관련 에러 메시지가 더 이상 뜨지 않게 됩니다.