warning: in the working copy of 'db.json', LF will be replaced by CRLF the next time Git touches it
git add .
해당 명령어 사용 시 위와 같은 warning이 계속 떴다. 커밋, 푸쉬하는데는 문제가 없어서 그냥 안본 눈 하고 있는데, 계속 뜨니까 신경이 쓰여서 원인과 해결책을 찾아보았다. 도대체 LF는 뭐고 CRLF는 뭔지...
'db.json' 파일의 로컬 작업 복사본에 있는 줄바꿈 스타일이 현재 LF이지만 Git이 다음에 해당 파일과 상호 작용할 때 이를 CRLF로 대체한다는 것이다. 저장소에 줄바꿈 스타일이 혼합되어 있어서 해당 파일을 읽어오는 과정에서 혼란이 생겨 발생하는 문제인 듯 했다. 아마 내가 맥북과 데스크탑(windows)을 왔다갔다 하면서 작업하고 있는데, 그러면서 발생한 문제인 듯 했다.
Git과 같은 버전 제어 시스템의 맥락에서 다양한 플랫폼에 걸쳐 프로젝트를 공동 작업할 때, 플랫폼마다 줄바꿈 문자열이 다르기 때문에 이런 경고 메세지가 나타난다. 한 가지 스타일로 일관되게 처리하지 않으면 텍스트 파일이 해석되는 방식에 문제가 발생할 수 있기 때문에 통일하는 것이 좋다.
Git에 코드를 커밋할 때 LF와 CRLF를 서로 변환해 준다.
시스템 전체에 적용하려면 global 옵션을 사용한다.
git config core.autocrlf true
git config --global core.autocrlf true
git config core.autocrlf input
git config --global core.autocrlf input
줄바꿈 형식을 변경하고 싶지 않다면 경고를 무시해도 된다. Git은 계속 작동하지만 크로스 플랫폼 환경에서 작업할 경우 신경이 쓰일 수도 있다. 지금 당장은 문제가 없지만, 나중에 파일을 읽어올 때 문제가 생길 수 있으니 자동 변환을 해주는 것이 좋을 것 같다.
$git config --global core.autocrlf false