새 프로젝트를 시작하게 되면서 문제가 발생했다.

모든 코드에 에러가 발생하는 어지러운 상황이었다.
실행은 정상적으로 되는 것을 보아 크리티컬한 상황은 아니라고 판단, 일단 에러 메세지를 확인했다.
Delete '␍' eslintprettier/prettier
이번 프로젝트에서 처음으로 eslint와 prettier를 이용해 코드의 일관성을 맞추는 시도를 했었다.
그런데 나는 Window 사용자였고, 협업자는 Mac을 이용하여 개행 문자 차이로 인해 벌어진 문제였다.
Mac은 기본 개행문자로 LF를 사용하고 Window은 CR을 사용한다. git clone 과정에서 Window로 넘어오면서 자동으로 모든 개행 문자를 CR로 변경해서 발생한 문제였던 것이다.
Window의 경우 LF도 지원하기 때문에 내 쪽에서 환경을 바꿔야 하는 상황이었다. 인터넷을 서칭하면서 시도해 본 여러 방법을 남겨본다..
루트 폴더에 .gitattributes 파일을 만든 뒤 다음과 같이 설정
*.js text eol=lf
*.ts text eol=lf
의미있는 변화가 일어나지 않았다.
root = true
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
editor 자체에 개행문자를 lf로 설정하는 내용인 것 같다.
이 또한 의미있는 변화가 일어나지 않았다..
workspace의 setting을 수정하는 방법인데, 효과가 없었다..
이 세 가지 방법이 통하지 않으면서 절망하게 되었는데..
모든 파일 하단에 있는 개행 설정을 한땀한땀 바꾸는 방법 밖에 보이지 않았기 때문이다..
심지어 git에는 LF로 올라가있을텐데??? 내가 개행을 CR 에서 LF로 바꾸면 깃이 파일이 변경되었다고 판단해서 스테이징 시켜버렸다.. 이미 LF로 올라가있는데 이걸 커밋해도 되는건지도 의심스러웠다.. 😭😭
정말 마지막으로 시도해 본 방법이다.
기존 LF 개행을 git이 가져오면서 운영체제에 맞게 변경해버려 발생한 문제인데, 이러한 git 설정을 바꿔버리는 것이다.
git config --global core.authcrlf false
git config --global core.eol lf
global 설정은 필요한 사람만 사용하길
자동으로 crlf로 변경하는 옵션을 끄고, 마지막 개행을 lf로 고정했다.
이걸로 바로 해결이 되면 좋았겠지만!!
놀랍게도 아무런 변화가 없었다..
왜냐하면 깃에서 가져오는 설정을 변경했고, 이미 받아온 파일은 바뀌지않으니까
나는 피눈물을 흘리며 기존 프로젝트를 날리고 새로 git clone을 진행했다..
그래도 모든 파일을 들어가서 직접 개행을 바꾸는 것보단 싸게 먹힌게 아닌지 🥹
그러나 여전히 새로 파일을 생성하면 CRLF로 만들어지고 있어 수동으로 바꿔주고 있다..ㅋㅋ
이건 에디터 설정을 더 찾아봐야 할 것 같다.