git add .
명령어를 실행할 때 예상치 못한 에러 메시지가 나타날 수 있는데
warning: LF will be replaced by CRLF in <파일 경로>
The file will have its original line endings in your working directory
(유닉스 계열 OS(macOS, Linux)를 사용 중이라면 "LF"와 "CRLF"의 위치가 반대로 나타날 수 있습니다.)
이 경고 메시지는 운영 체제마다 사용하는 줄바꿈 문자열이 다르기 때문에 발생합니다. Git은 다양한 OS에서의 협업을 고려해, 특정 파일의 줄바꿈(LF 또는 CRLF)을 자동으로 처리하려고 시도합니다. 이 과정에서 충돌이 발생하면 경고 메시지를 출력합니다. 이러한 문제가 해결되지 않으면 줄바꿈 문자 차이로 인해 커밋 내역이 의도치 않게 변경되거나, 설정 파일이 잘못될 수 있습니다. 따라서 줄바꿈 문자열을 통일하는 것이 좋습니다.
이 문제는 Git의 core.autocrlf 설정을 통해 해결할 수 있습니다. 이 설정은 Git이 커밋 시 줄바꿈 문자열(LF와 CRLF)을 자동으로 변환하도록 해줍니다. 시스템 전체에 이 설정을 적용하려면 --global 옵션을 사용하고, 특정 프로젝트에만 적용하려면 옵션을 제외하고 설정합니다.
Windows에서는 CRLF(Carriage Return Line Feed)를 기본 줄바꿈으로 사용하므로, 다음과 같이 설정합니다:
$ git config core.autocrlf true
$ git config --global core.autocrlf true
위 두 명령어 중 하나를 선택해 입력합니다. --global 옵션이 있으면 모든 프로젝트에 적용되고, 없으면 현재 프로젝트에만 적용됩니다.
Linux와 macOS에서는 LF(Line Feed)를 기본 줄바꿈으로 사용하므로, 다음과 같이 설정합니다:
$ git config core.autocrlf input
$ git config --global core.autocrlf input
input 설정은 Git이 커밋할 때만 CRLF를 LF로 변환하고, 체크아웃 시에는 변환하지 않도록 합니다.
줄바꿈 변환 기능을 완전히 비활성화할 수도 있습니다. 이 경우 경고 메시지는 사라지지만, 줄바꿈 차이로 인한 문제를 스스로 관리해야 합니다:
$ git config --global core.autocrlf false
이 설정은 줄바꿈 문자열을 변환하지 않도록 하여, LF와 CRLF 간 변환을 피할 수 있습니다.