what?

 

혼자서 열심히 코딩하고 git에 수정한 코드들을 commit하기 위해 git add 를 하자마자...

 

warning: LF will be replaced by CRLF in ~~~ 
The file will have its original line endings in your working directory

이런 문구가 떴다! 무시하고 지나가려고했으나...warning...이 무서워서 찾아보았다.

 

🚨 아마 Mac에서 Windows로 프로젝트 파일을 가져와서 이런 문제가 생긴거 같다.🚨


Why?

운영체제 [OS] 마다 줄바꿈을 지정하는 문자열이 다른데, 이를 형상관리 해주는 Git이 어느 플랫폼의 방식을 선택해야 할 지 몰라서 Warning을 해준것이다.

 

LF(Line-Feed)

  • Mac, Linux (Unix 계열) 줄바꿈 문자열 = \n
  • ASCII 코드 = 10
  • 커서 위치는 그대로 두고 종이의 한라인 위로 올리는 동작
  • 현재 위치에서 바로 아래로 이동
  • 종이를 한칸올리기

CR(Carriage-Return)

  • Mac 초기 모델 줄바꿈 문자열 = \r
  • ASCII 코드 = 13
  • 커서 위치를 맨앞으로 옮기는 동작
  • 커서 위치를 앞으로 이동

 

CRLF (Carriage-Return+Line-Feed)

  • Windows, DOS 줄바꿈 문자열 = \r\n
  • CR(\r) + LR(\n) 두 동작을 합쳐서 (\r\n)
  • 커서를 다음라인 맨앞으로 옮겨주는 동작

How?

autocrlf 사용

  • 시스템 전체 적용하고 싶다면 --global 를 추가해준다.

CRLF > LF 변경

core.autocrlf = true

 

기본 설정
운영체제(OS) 상관없이 줄바꿈에 대한 문자열 그대로 인식해 저장하기!
(문제가 발생할 수 있음!)

core.autocrlf = false

 

LF를 line ending으로 사용한다.

core.autocrlf = input

Window

git config --global core.autocrlf true

 

Linux, Mac

git config --global core.autocrlf input

 

변환 기능을 사용하지 않고, 에러 메시지만 안뜨게 설정. (비추)

git config --global core.safecrlf false

 

 

'IT > Git & Github' 카테고리의 다른 글

[형상 관리] Git (정의, 설치, 초기 설정) - 1  (4) 2024.01.29
Git 브랜치  (0) 2023.06.04
Git 명령어 3  (0) 2023.06.04
Git 명령어 2  (0) 2023.06.01
Git 명령어 1  (0) 2023.06.01

+ Recent posts