상황: Git Bash에서 add 처리 하던 중 발생
git add .
warning: LF will be replaced by CRLF in ~
The file will have its original line endings in your working directory
Shell
•
그 동안 VSCode의 Commit 기능을 통해 add와 commit을 처리하다가,
처음으로 Git Bash에서 작업하던 중 발견하였습니다.
•
아마 해당 경고 메세지가 계속 내부에선 떴을텐데,
Bash를 사용안하다 보니 뒤늦게 발견을 하게 된 것 같습니다. (1년 넘게 이랬을텐데…)
CRLF (Carriage Return & Line Feed)
•
간단히만 언급하고 넘어가자면,
CRLF는 Windows OS의 개행 처리 방식, LF는 Unix 계열 OS의 개행 처리 방식이라 합니다.
•
CRLF는 \r\n, LF는 \n을 줄바꿈 문자열로 사용
•
OS가 서로 다른 개발자들이 Git으로 협업할 때 마주치기 쉬운 경고라고 하네요.
(코드 작업 시 개행 처리에 사용하는 문자열이 다를테니)
•
저 같은 경우는 VSCode에서 사용 중인 extension 중 하나가
파일 저장 시 마지막에 빈 줄을 자동으로 넣어줘서 발생한 경고문으로 보입니다.
(Windows인데, Unix의 LF 방식의 개행 처리가 된 것)
해결: autocrlf 사용
•
다음과 같은 명령어로 autocrlf를 켜주면
앞으로는 자동으로 LF와 CRLF 변환이 되고 해당 경고문은 더 이상 뜨지 않게 됩니다.
•
Windows 사용자
git config --global core.autocrlf true
Shell
•
Mac, Linux 사용자
git config --global core.autocrlf true input
Shell