728x90
warning: LF will be replaced by CRLF in xxx.txt.
The file will have its original line endings in your working directory
Git add 를 하다보면 다음과 같은 에러메세지를 종종 맞이하게 된다.
먼저, CRLF가 무엇인지 알아야 한다.
CR은 Carriage Return, LF는 Line Feed라는 뜻으로 Typewriter에서 비롯되었다.
LF (Line - Feed)
- Mac, Linux (Unix 계열) 줄바꿈 문자열 = \n
- ASCII 코드 = 10
- 커서 위치는 그대로 두고 종이의 한라인 위로 올리는 동작
- 현재 위치에서 바로 아래로 이동
- 종이를 한칸 올리기
CR (Carriage - Return)
- Mac 초기 모델 줄바꿈 문자열 = \r
- ASCII 코드 = 13
- 커서 위치를 맨 앞으로 옮기는 동작
- 커서 위치를 앞으로 이동
CRLF (Carriage - Return + Line - Feed)
- Windows, DOS 줄바꿈 문자열 = \r\n
- CR(\r) + LF(\n) 두 동작을 합쳐서 (\r\n)
- 커서를 다음라인 맨 앞으로 옮겨주는 동작
플랫폼(OS)마다 줄바꿈을 바라보는 문자열이 다르기에
형상관리를 해주는 Git이 바라볼 땐 어느 쪽을 선택할지 몰라 경고 메세지를 띄워준 것
해결방안
autocrlf 사용
check-in, check-out 할 때 파일을 어떻게 처리할 지 설정하는 변수
+ 시스템 전체에 적용하고 싶다면 --global 옵션을 추가하고
전체가 아닌 해당 프로젝트에만 적용하고 싶다면 옵션을 빼주면 된다.
- core.autocrlf = true ( CRLF -> LF 변경 )
- core.autocrlf = false ( 기본설정 : OS 상관없이 줄바꿈에 대한 문자열 그대로 인식해 저장 )
- core.autocrlf = input ( LF를 line ending으로 사용 )
Windows, DOS 명령어
git config --global core.autocrlf true
Linux, MAC 명령어
git config --global core.autocrlf input
참조 : [Git 경고 메세지] LF will be replaced by CRLF in 해결 방안 :: 다보의 개발일기 (tistory.com)