기타/Git

[Git] CRLF 개행 문자 차이로 인한 경고 해결하기

JOYERIM 2023. 1. 17. 15:46

Windows의 경우 line ending으로 CR(Carriage-Return, \r)과 LF(Line Feed, \n)을 사용하며,

Unix와 Mac OS는 LF만 사용한다.

 

이 차이로 인해 git에서 잘못 인식하여 문제가 생길 수 있으니 crlf 처리 방법을 사전에 결정해야 한다.

(ex. 실제 코드는 변경되지 않았는데 CR/LF 때문에 변경으로 착각)

 

설정 방법

 

core.eof

core.eol = native 시스템에서 line ending을 처리하는 방법에 따른다. 즉, windows에서는 CRLF를 사용하고 Linux, OS는 LF를 사용한다.(기본설정)
core.eol = crlf CRLF를 line ending으로 사용한다.
core.eol = lf LF를 line ending으로 설정한다.

아래 명령어로 설정할 수 있다.

# 설정하기
$ git config --global core.eol native

# 설정 확인하기
$ git config --global --list|grep core.eol

 

core.autocrlf

core.autocrlf = false git는 CRLF, LF 설정을 무시하고 파일 그대로 check-in, check-out한다. 즉, OS가 다를 경우 문제가 생길 수 있다.(기본 설정)
core.autocrlf = true text file을 object database에 넣기 전에 CRLF를 LF로 변경한다.
core.autocrlf = input LF를 line ending으로 사용한다.

 

해결 방법

 

1. windows

windows는 CRLF를 사용하므로 core.autocrlf를 true로 설정한다.

즉, 저장소에서 가져올 때 LF를 CRLF로 변경하며, 저장소로 보낼 때는 CRLF를 LF로 변경해준다.

$ git config --global core.autocrlf true

 

2. Linux, Mac OS, Unix

Linux Max OS, Unix는 LF만 사용하므로 input으로 설정한다.

git config --global core.autocrlf input

저의 이해를 도와주신 포스트 주인분께 감사드립니다..

 

git 에서 CRLF 개행 문자 차이로 인한 문제 해결하기

 

www.lesstif.com