Git #2:: Git 에러 ' warning: LF will be replaced by CRLF in ~~' 해결 방법

🙊 잘못 기재한 부분이 있다면 댓글로 남겨주세요!


😱 git add 에러

한창 수업을 듣기 시작할 때, github를 연결하고 작성한 코드를 github에 올리려고 add 를 하는데 다짜고짜 warning: LF will be replaced by CRLF in 에러 메시지가 뜨면서 파일이 다 안 올라간 적이 있다.
그때야 처음에 내가 뭔가 잘못 눌러서 이상한 화면이 뜨는 바람에 뭔가 놓쳤나? 하면서 당황했지만 구글에 검색하니 명령어 한 줄이면 쉽게 해결할 수 있는 문제였다.

👾에러 원인

이 에러는 서로 다른 OS, 그러니까 MacOSWindowsOS를 사용하는 개발자들이 협업할 때에 발생하는 문제이다. Unix 계열의 OS들은 줄바꿈(개행)을 할 때마다 한 줄의 끝이 LF(Line Feed)로 이루어지고, WindowsOS는 CR(Carriage Return)으로 한줄의 끝이 이루어져있기 때문에 양식이 통일되지 않아, Git이 혼란에 빠진 것이다.

🪄해결 방법

다행히도 똑똑한 git은 이 문제를 해결할 core.autocrlf라는 기능을 가지고 있어서, 명령어를 통해서 이것의 옵션을 켜주면 된다!

💻 윈도우 OS에서의 해결법

git config --global core.autocrlf true

💻 맥 OS에서의 해결법

git config --global core.autocrlf true input

두 방법 모두 다 --global 옵션이 들어가있는데, 이는 시스템 전체에 core.autocrlf의 ON/OFF를 적용하지 않고, git을 add 하는 현재 경로의 프로젝트에만 이것을 적용하겠다는 뜻이다.

그러다보니 윈도우 사용자들은 --global 옵션을 빼고 명령어를 치고, 맥 사용자들은 --global 옵션을 끼고 해당 명령을 실행하기를 권장한다.

😕마치면서

서로 다른 OS를 가진 작업자들끼리 협업하면서 일어나는 문제이기도 하고 다른 분들의 velog에도 심심찮게 찾아볼 수 있는걸 보니 흔하기도 하고 정말로 어쩔 수 없이 번거로움을 감수해야하는 오류인 것 같다.

하지만 내 경우에는 RunJS 를 이용해서 수업을 들으면서 실행했던 코드를 저장한 파일을 올릴 때마다 저런 오류가 떴었다! 그래서 더이상 RunJS로는 파일 저장을 하지 않고 다른 툴을 이용해서 저장을 하는데도 이 오류가 끊임없이 뜬다.

그리고 난 아직 다른 사람들과 협업해서 프로젝트를 할 만큼의 수준도 아니라 다른 OS 사용자들과 js파일을 교환할 일이 없는데 대체 뭘까? 🤔🤔

좋은 웹페이지 즐겨찾기