Windows는 line ending으로 CR(Carriage-Return, \r)과 LF(Line Feed \n)을 사용합니다.
CRLF는 커서를 다음 라인의 맨앞으로 옮기는 표시이며, ↲ 이러한 표현입니다.
Mac, Linux(Unix 계열)의 경우 LF(Line Feed \n)를 사용합니다.
LF는 현재 위치에서 바로 아래로 이동하는 것을 의미하며, ↓ 와 같은 표현입니다.
문제는 같은 작업 영역에서 같은 코드를 수정할 경우 windows와 mac의 코드가 일치하더라도 커서의 표현값이 다르기 때문에 충돌이 일어나는 경우가 발생합니다.
해결 방법으로는 각 운영체제별로 git을 기준으로 LF로 맞춰주는 것입니다.
Windows는 CRLF를 LF로 변경되도록 git config 설정 중 core.autocrlf를 설정해주면 됩니다.
Mac은 기존 개행 형식으로 저장되도록 설정해줍니다.
core.autocrlf 는 text file 을 git object database 에 checkin, checkout 할 때 어떻게 처리할지를 설정하는 변수입니다.
Windows
| |
text file을 넣기전 CRLF를 LF로 변경합니다.
Mac
| |
Mac, Linux(Unix 계열)의 경우 LF만 사용하기 때문에 input으로 설정하면 됩니다.
위와 같은 설정은 결국 아래와 같은 그림과 같은 형태로 text 파일이 저장됩니다.
