git bash로 파일 add
과정 중 다음과 같은 에러가 발생하였다.
warning: in the working copy of 'paris.html', LF will be replaced by CRLF the next time Git touches it
왜 발생할까?
mac 또는 linux를 쓰는 개발자와 windows를 쓰는 개발자가 Git을 협업할 때 발생하는 Whitespace 에러다.
windows에서는 Carriage Return(CR,\r)과 Line Feed(LF,\n)를 개행문자로 사용해 즉 CRLF로 이루어졌고, linux와 mac에서는 Line Feed만 사용해 LF로만 이루어져있기 때문인데 어느 한 쪽을 선택할지 Git에게 혼란이 온 것이다.
이는 core.autocrlf
기능을 이용하여 해결이 가능하다.
먼저 Git에서 core.autocrlf
는 파일을 git object에 체크인할 때 개행문자를 처리하는 옵션인데, 이를 이용해 설정이 가능하다.
windows 사용자의 경우 이러한 변환이 항상 실행되도록 다음과 같은 명령어를 입력한다. 시스템 전체가 아닌 해당 프로젝트에만 적용하고 싶다면 --global
을 빼주자
git config --global core.autocrlf true
default 설정이다.
git config --global core.autocrlf false