window 에서 git 에러 LF

1847 단어 gitgit

전에 회사에서는 리눅스나 맥을 사용했기 때문에 이런 에러를 본적이 없었는데, 이번에 서비스를 윈도우에서 초기세팅을 하면서 발견하게 되었다.

터미널에 git명령어를 입력하면

warning: LF will be replaced by CRLF in some/file.file.
The file will have its original line endings in your working directory.

이런 에러가 떴는데, 찾아보니 맥 또는 리눅스를 쓰는 개발자와 윈도우를 쓰는 개발자가 git을 통해 협업할 때 생기게 되는 whitespace 에러라고 한다. 유닉스에서는 한줄 끝이 LF(line feed)로 이루어지고 윈도우는 CR(carriage return)와 LF(line feed) 즉 CRLF로 이루어지기 때문이다. git 입장에서는 어느쪽을 따라야할지 혼란이 온 것이다.

나는 윈도우를 썼기 때문에 위와 같은 에러가 떴지만 유닉스의 경우에는 반대로 CRLF will be replaced by LF in… 라는 메세지가 뜬다고 한다. 둘 모두 해결 방법은 같은데, git에 core.autocrlf

라는 기능을 사용하여 자동변환 해주는 것이다. 이는 git에 코드를 추가할 때 CRLF를 LF로, git 코드를 개발자가 조회할 때 LF를 CRLF로 자동변환해주는 기능이라고 보면 된다.

윈도우의 경우 명령어는,

git config --global core.autocrlf true

리눅스의 경우 명령어는,

git config --global core.autocrlf true input // 단방향 변환

라고 해주면 된다.

이때 전체가 아닌 해당 프로젝트에만 적용하고 싶다면 둘다 —global를 빼면 된다.

혹은 모든 에러를 무시하고 싶다면,

git config --global core.safecrlf false

라고 명령어를 입력해주면 된다.

좋은 웹페이지 즐겨찾기