Notice

[GIT] LF will be replaced by CRLF in

git에 .gitignore 파일을 작성한 후 git add 를 해주니 다음과 같은 에러 메세지가 발생하였다.

 

 

warning: LF will be replaced by CRLF in .gitignore.

 

1. LF(Line-Feed)란?

- Mac, Linux 등 Unix 계열의 줄바꿈 문자열(\n) 이다.

- 커서 위치는 그대로 두고 종이의 한 라인 밑으로 내려가는 동작 (=현재 위치에서 바로 아래로 이동)

 

2. CR(Carraige-Return)

- Mac 초기 모델 줄바꿈 문자열(\r)

- 커서 위치를 맨앞으로 옮기는 동작

 

3. CRLF(Carriage-Return + Line-Feed)

- Windows, DOS 줄바꿈 문자열 (\r\n)

- CR과 LF의 동작을 합친 것

- 커서를 다음 라인 맨앞으로 옮기는 동작

 

 따라서, 위 오류는 OS마다 줄바꿈 문자열이 다르기 때문에, Git이 어떤 쪽을 선택해야할 지 몰라 경고 메세지를 띄워준 것이라 한다.

 

 

해결방안

따라서 해결 방안은 autocrlf 를 켜주는 것. core.autocrlf 기능을 켜주면 git이 자동변환 해준다.

사용자가 git에 코드를 추가할때 CRLF -> LF로 변경해주고, git의 코드를 개발자가 조회하면(ex. clone 등)  LF -> CRLF로 변환해준다.

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

 

기본 설정인 core.autocrlf = false 는 OS에 상관없이 줄바꿈에 대한 문자열 그대로 인식해 저장해 문제가 발생할 가능성이 존재한다. 따라서 autocrlf = ture로 변환해 기능을 켜준다.

 

 

1. Windows

git config --global core.autocrlf true

 

2. Linux, Mac

git congit --global core.autocrlf input

 

3. 기능을 변환하지 않고, 에러 메세지를 무시하고 작업하고 싶은 경우

- 경고 메세지 기능인 core.safecrlf 를 꺼주면 된다.

git config --global core.safecrlf false

 

 

 

글쓰기 설정