github에 새로운 레포를 만들고 내 local에서 작성하던 코드를 해당 레포에 push하려던 참에
아래와 같은 warning이 떴다 !
지금까지 이런 에러를 무시했다가 큰 화를 입어서 시간을 날린 적이 하루 이틀이 아니기 때문에 ㅎ
바로 구글링을 해보았다.
이건 보통 맥 / 리눅스를 쓰는 개발자와 윈도우 쓰는 개발자가 Git으로 협업할 때 발생하는 Whitespace 에러라고 한다.
( 난 협업 아닌데 뭐지 ? )
유닉스 시스템에서는 한 줄의 끝이 LF(Line Feed)로 이루어지는 반면,
윈도우에서는 줄 하나가 CR(Carriage Return)와 LF(Line Feed), 즉 CRLF로 이루어지는데
Git이 이 둘 중 어느 쪽을 선택할지 혼란이 온 것이다 !
Git의 core.autocrlf
라는 기능을 켜서 이를 자동 변환 해주도록 하면 된다.
- git config --global core.autocrlf true // 시스템 전체에 적용
⠀- git config core.autocrlf true // 해당 프로젝트에만 적용
이렇게 하게되면 개발자가 git에 코드를 추가했을 때는 CRLF를 LF로 변환해주고,
git의 코드를 개발자가 조회할 때는 LF를 CRLF로 변환해준다고 한다.
혹은, 이런 변환기능을 사용하지 않고 에러 메세지를 끄고 작업하고 싶다면
git config --global core.safecrlf false
이렇게 하여 해당 경고 메세지 기능을 꺼주면 된다.
[참고] https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#Formatting-and-Whitespace
명령어에 ture 오타잇네요