GitBash에서 git add 명령어를 사용하다 평소에 안 뜨던 에러메세지가 발생하여 해결방법을 남기고자 글을 작성했습니다.
번역) 경고 : xxx.java에서 LF는CRLF로 대체됩니다. 파일의 줄 끝 문자가 LF(Line Feed)에서 CRLF(Carriage Return Line Feed)로 변경될 것이라는 것을 의미.
에러 메세지가 뜨는 이유
Git은 파일의 줄 끝 문자를 관리하는 방식에 따라 LF와 CRLF를 구분한다고 한다.
일반적으로 Linux와 macOS에서는 줄 끝 문자를 LF(\n)를 사용하고, Windows에서는 CRLF(\r\n)을 사용한다.
Windows에서 작업한 파일을 Unix계열 시스템에서 작업하는 다른 팀원이 수정하게 되면 줄 끝 문자가 혼합되어 불필요한 변경 사항이 발생할 수 있다.
이를 방지하기 위해 Git은 자동으로 줄 끝 문자를 변환해주는데, 이 과정에서 "LF will be replaced by CRLF"메세지가 표시된다.
> 요약하자면 윈도우 환경 작업자와 유닉스계열 작업자간의 충돌을 방지하기 위해 나타나는 메세지라고 보면된다!
해결 방법
이 문제를 해결하기 위해 간단하게 Git의 설정을 변경 해주면된다.
(Git의 설정을 통해 줄 끝 문자의 자동 변환을 제어)
전역 설정 변경
Git의 전역 설정을 변경하여 모든 저장소에서 적용할 수 있다.
(본 명령어는 Git bash에서 실행했습니다)
Window에서 설정시(터미널 또는 명령 프롬프트에서 명령어를 실행하면 된다.)
git config --global core.autocrlf true
파일을 커밋할 때 LF를 CRLF로 변환하고, 체크아웃할 때는 CRLF를 LF로 변환.
Unix계열에서 설정시
git config --global core.autocrlf input
커밋할 때만 CRLF를 LF로 변환하고, 체크아웃할 때는 변환하지 않음.
특정 저장소에서만 설정 변경
Window에서 설정시
git config core.autocrlf true
Unix계열에서 설정시
git config core.autocrlf input
필자는 윈도우 환경에서 사용했기 때문에 해당 명령어를 통해 오류 해결.
git add . 를 해도 오류가 발생하지 않는 것을 볼 수 있습니다.
오류 해결!