Git에서 "LF will be replaced by CRLF" 경고 해결하기

2024. 9. 19. 17:09Devlog

 

 

개발을 하다보면 github에 push를 자주하게되는데, 할때마다
"LF will be replaced by CRLF"

라는 문구를 자주 보았을것이다.

나도 push를 할때마다 인터넷에 검색해서 내용을 찾게되는데,

무슨 의미인지는 알지만 명령어를 매번 복붙하기위해 검색을한다....

( 하도 검색해서 자주방문한 블로그<< 라고 구글에서 알려주기까지하는 지경에 이르렀다.)

 

그래서!!!

 

오늘은 정리를 해봐야겠다.

이 경고는 Git이 줄바꿈 문자(line ending) 문제로 발생하는 거다. 윈도우와 유닉스 계열 시스템(Linux, macOS)은 서로 다른 줄바꿈 방식을 사용하는데, 이 차이 때문에 파일 수정 시 문제가 발생할 수 있다.

  • LF(Line Feed): 유닉스 계열에서 쓰는 줄바꿈 방식.
  • CRLF(Carriage Return + Line Feed): 윈도우에서 쓰는 줄바꿈 방식.

이 경고는 LF로 저장된 파일이 Git에 의해 CRLF로 변경될 예정이라는 뜻이다. 이 상황에서 불필요한 파일 수정이 발생할 수 있어 주의가 필요하다. 이제 이 문제를 어떻게 해결할 수 있는지 알아보겠다.

 

해결방법

 

1. git config로 설정 수정하기

줄바꿈 문제를 해결하려면 Git 설정을 조정해야 한다. 아래 명령어로 자동 줄바꿈 변환을 해제할 수 있다.

 

git config --global core.autocrlf true;

 

2. 프로젝트마다 설정을 다르게 하고 싶다면?

만약 프로젝트마다 다른 설정을 적용하고 싶다면, 프로젝트 단위로 설정하는 것도 가능하다.

 

git config core.autocrlf true;

이 명령어를 사용하면 전역(global)이 아닌 특정 프로젝트에서만 줄바꿈 자동 변환을 해제할 수 있다. 여러 플랫폼에서 협업하는 경우, 프로젝트마다 다르게 설정하는 것이 유용할 수 있다.

 

 

결론

 

Git에서 발생하는 줄바꿈 문제는 특히 협업 시 혼란을 일으킬 수 있다. 이럴 때는 core.autocrlf 설정을 통해 파일이 의도치 않게 변경되는 걸 방지할 수 있다. 자신이 사용하는 OS에 맞게 줄바꿈 설정을 조정해두면, 더 이상 이 경고 메시지를 신경 쓰지 않아도 될 것이다.

 

 

이제는 명령어를 까먹게되도 자신의 블로그를 찾아와 해결하자!

 

반응형