왜 당신은 삽질을 했나요?
최근에 거인같은 분들과 프로젝트를 할 기회가 생겼습니다.
이미 진행되어있는 프로젝트에서 부가적인 기능을 구현하는
역할을 맡게 되었습니다.
그래서 만들어진 프로젝트를 git을 통해 clone을 했는데
처음에는 prettier와 eslint 가 단순하게 충돌하는 오류이라고 생각했습니다.
실은 이전에 이와 같은 오류를 한번 경험하였기때문에
해결할 수 있을 거라고 생각했습니다.
하지만 몇시간을 투자해도 해결할 수 없었고,
질문을 통해서 답을 얻어냈습니다.
무엇이 문제였나?
문제는 사용하는 OS의 차이였습니다.
저는 윈도우를 사용하였고, 기존에 프로젝트를 진행하시던 분께서는
맥을 사용하셨습니다.
Windows 에서는 line ending으로 CR(Carriage-Return, \r)과 LF(Line Feed, \n)을 사용하고
Unix 나 Mac OS 는 LF 만 사용한다고 합니다.
저는 예상치도 못한 부분이였습니다.
마법같은 두줄을 추가해줍니다.
core.autocrlf = false
CRLF를 썻든 LF를 썼든 git은 상관하지 않고 파일 그대로 checkin, checkout
core.eol = lf
줄바꿈을 lf로 바꾸어줍니다.
위와 같은 git config 정보는 git config --list 명령어를 통해 얻을 수 있습니다.
참고한 자료는 다음과 같습니다.
https://www.lesstif.com/gitbook/git-crlf-20776404.html
-----------------------------------------
core.autocrlf = input
core.eol = lf
위 두설정으로 바꿔주세요.
저는 윈도우고 맥 사용자와 협업할 시 입니다.
기존에 있는 global 설정을 변경해주려면
git config --unset --global core.eol
명령어를 사용하시면 됩니다.
https://velog.io/@mook9288/git-0005
'공부기록 > git' 카테고리의 다른 글
GitLab commit이 GitHub에도 반영이 되도록 하는방법 (0) | 2022.06.01 |
---|---|
git reset (0) | 2022.05.09 |
github 복습 (0) | 2021.12.29 |
Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. (0) | 2021.09.09 |
git 시작하기 4 (0) | 2021.08.27 |