Git CRLF, LF 경고

LD·2023년 12월 3일
0

Git Bash에서 작업 디렉토리(working directory) 상의 변경 내용을 스테이징 영역(staging area)에 추가하기 위해 git add 명령어를 사용했다. 그런데 아래와 같은 warning 메시지가 출력됐다.

warning: in the working copy of 'suika-game/.gitignore', LF will be replaced by CRLF the next time Git touches it

찾아보니 유닉스 시스템에서의 개행과 윈도우에서의 개행이 달라서 Git이 이 둘 중 어느 쪽을 선택해야할 지 모를 때 생기는 문제라고 한다.

유닉스는 한 줄의 끝이 LF(Line Feed)로 이루어지고, 윈도우에서는 줄 하나가 CR(Carriage Return)와 LF(Line Feed), CRLF로 이루어진다.

윈도우 환경에서 이를 해결하기 위해선 autocrlf를 다음과 같이 설정하면 된다.

git config --global core.autocrlf true

시스템 전체에 적용하려면 --global 옵션 추가하고, 해당 프로젝트에만 적용하고싶다면 옵션을 빼주면 된다.

만약, 그래도 해결이 되지 않을 경우 추가로 시도해볼만한 것이 몇 가지 있다.

캐시 비우기

git rm --cached -r .

변경 사항 추가 후 커밋하기

git add .
git commit -m "your_message"

core.eol 설정 확인

git config --global core.eol

만약 core.eol이 설정되어 있다면, lf로 변경해보기

git config --global core.eol lf

사용하는 Editor 설정 확인하기
Visual Studio Code의 경우, File - Preferences - Settings - 검색바에 eol 검색 - 설정을 lf (윈도우)로 바꿔보기

0개의 댓글

관련 채용 정보