Devlog

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

생각한대로 2024. 9. 19. 17:09

 

 

개발을 하다보면 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에 맞게 줄바꿈 설정을 조정해두면, 더 이상 이 경고 메시지를 신경 쓰지 않아도 될 것이다.

 

 

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

 

반응형