처음 git을 설치하고 테스트로 인텔리제이 코드를 올려보려고 git add . 를 쳤는데
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'src/Main.java', LF will be replaced by CRLF the next time Git touches it
위와 같은 에러가 발생했다.
우선 CRLF가 무슨 뜻인지 살펴보자
CR(Carriage-Return)
현재 커서를 줄 올림 없이 가장 앞으로 옮기는 동작이다.
LF(Line-Feed)
커서는 그 자리에 두고 종이만 한 줄 올려 줄을 바꾸는 동작이다.
CRLF (Carriage-Return+Line-Feed)
줄을 바꾼다!
자세한 설명을 하자면 윈도우는 CR과 LF를 사용하고 Unix나 Mac에서는 LF만 사용한다.
실제 코드는 변경된게 없는데 소스의 CR/LF 때문에 변경으로 착각하여 commit을 하게 될 수 있으며 변경 로그를 보거나
merge마다 문제가 될 소지가 있다.
이러한 문제를 방지하기 위해 OS가 달라도 문제가 없도록 CRLF 처리 방법을 결정해야 한다.
구글링으로 해결방법을 찾아봤더니
core.autocrlf 라는 기능을 켜줘야한다고 나와있다.
Windows, DOS 명령어
git config --global core.autocrlf true
반응형