🥞 BE
home

LF will be replaced by CRLF

git add 명령어를 입력했는데,
git add .
Bash
복사
warning: in the working copy of 'README.md', LF will be replaced by CRLF the next time Git touches it
Bash
복사
이런 경고 메시지가 떴다.

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) + LR(\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, DOW 명령어

git config --global core.autocrlf true
Bash
복사

Linux, MAC 명령어

git config --global core.autocrlf input
Bash
복사

Reference