오늘의 에러

김종원·2022년 5월 30일
0

[git]

목록 보기
5/9

깃에 커밋을 하려고 git add. 명령어를 치는 순간
warning : CRLF will be replaced by LF in src/App.js.가 발생했다.
무슨 문제가 있는건지 알아보니
맥 또는 리눅스를 쓰는 개발자와 윈도우 쓰는 개발자가 Git으로 협업할 때 발생하는 Whitespace 에러라고 한다.
유닉스 시스템에서는 한 줄의 끝이 LF(Line Feed)로 이루어지는 반면, 윈도우에서는 줄 하나가 CR(Carriage Return)와 LF(Line Feed) CRLF로 이루어지기 때문이고 한다.
어느 한 쪽을 선택해야하는지 Git에게 혼란이 와서 발생한 에러이라고 한다.
(출처 : https://blog.jaeyoon.io/2018/01/git-crlf.html)

유닉스를 쓰면 CRLF will be replaced by LF 에러 메시지가 뜨고,
윈도우를 사용하고 있다면 LF will be replaced by CRLF 에러 메시지가 뜬다고 한다.

해결방법

core.autocrlf를 켜는것
git에 코드를 커밋할 때에는 CRLF를 LF로 변환해주고, git의 코드를 개발자가 조회할 때에는 LF를 CRLF로 변환해준다.

윈도우 사용자의 경우 이러한 변환이 항상 실행되도록 다음과 같은 명령어를 입력하면 된다.
(시스템 전체가 아닌 해당 프로젝트에만 적용하고 싶다면 —global 을 빼주면 됩니다.)

git config --global core.autocrlf true

리눅스나 맥을 사용하는 경우, 조회할 때 LF를 CRLF를 변환하는 것은 원하지 않을 수 있다.
따라서 뒤에 input 명령어를 추가함으로써 단방향으로만 변환이 이루어지도록 설정할 수 있습니다.

git config --global core.autocrlf true input

혹은 에러 메시지 끄고 싶은 경우에는 명령어로 경고메시지 기능인 core.safecrlf를 꺼주면 된다.

git config --global core.safecrlf false

profile
발전하기위한 기록

0개의 댓글