LF will be replaced by CRLF 경고 뜰때

현상

windows 와 mac 은 줄바꿈을 처리하는 방식이 틀리다

  • windows : CR(Carriage Return)와 LF(Line Feed) 으로 한줄의 끝을 인식
  • mac/linux : LF(Line Feed) 으로 한줄의 끝을 인식

mac 에서는 CRLF will be replaced by LF 경고가 뜨고
windows 에서는 LF will be replaced by CRLF 경고가 뜰 것이다

해결방법

git 의 config 설정 중에 core.autocrlf 를 사용한다

windows 사용자는 autocrlf 를 ture 로 설정하고

1
2
3
4
5
## windows 
git config --global core.autocrlf true

## true 설정의 의미는 core.eol=crlf 와 같다
Setting this variable to "true" is the same as setting the text attribute to "auto" on all files and core.eol to "crlf"

mac/linux 사용자는 autocrlf 를 input 으로 설정한다

1
2
## max/linux
git config --global core.autocrlf input

설정확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
git config --global --list

## user.name=Kim,Byoungchul
## [email protected]
## credential.helper=wincred
## credential.usehttppath=true
## includeif.gitdir/i:D:/studyspace/.path=.gitconfig-stu
## includeif.gitdir/i:D:/workspace/.path=.gitconfig-dev
## core.autocrlf=true
## i18n.commitencoding=utf-8
## i18n.logoutputencoding=utf-8
## filter.lfs.process=git-lfs filter-process
## filter.lfs.required=true
## filter.lfs.clean=git-lfs clean -- %f
## filter.lfs.smudge=git-lfs smudge -- %f

추가

그래도 경고메시지가 뜨는 경우는 그냥 꺼버리자

1
2
3
4
5
6
git config --global core.safecrlf false

safecrlf option
- true : 개행문자가 혼재할 경우 안전을 위해 이후의 처리를 중단함
- warn : 개행문자가 혼재할 경우 경고를 출력하고 처리는 계속 진행함
- false : core.autocrlf설정에 의해 변환 수행, 결과적으로 개행문자가 한쪽으로 통일되므로 의도한 경우라면 데이타 손실 가능성이 있음

Reference

  • https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreautocrlf
  • https://git-scm.com/docs/git-config#Documentation/git-config.txt-coresafecrlf