원본(내꺼내가쓴다는데!) : http://blog.naver.com/imf4/220768449845
GitHub : Stating시 종종 보이는 CRLF와 LF 알기
가끔 gitBash를 이용해서 commit을 위한 파일 Stating을 할 때에 종종 보이는 에러메시지 아닌 Alert가 눈에 거슬릴 때가 있다.
owarning: LF will be replaced by CRLF in ...
CRLF, LF는 줄바꿈 문자라는 개념으로 이해하면 된다.
CR : Carriage-Return
LF : Line Feed
CRLF
윈도는 줄 바꿈 문자로 CR(Carriage-Return)과 LF(Line Feed) 문자를 둘 다 사용
LF
Mac과 Linux는 LF 문자만 사용한다.
아무것도 아닌 것 같지만, 크로스 플랫폼 프로젝트에서는 꽤 성가신 문제라고 한다.
자세한 내용은 출처한 내용을 참고..
소스 포맷과 공백협업할 때 겪는 소스 포맷(Formatting)과 공백 문제는 미묘하고 난해하다. 동료 사이에 사용하는 플랫폼이 다를 때는 특히 더 심하다. 다른 사람이 보내온 Patch는 공백 문자 패턴이 미묘하게 다를 확률이 높다. 편집기가 몰래 공백문자를 추가해 버릴 수도 있고 크로스-플랫폼 프로젝트에서 윈도 개발자가 줄 끝에 CR(Carriage-Return) 문자를 추가해 버렸을 수도 있다. Git에는 이 이슈를 돕는 몇 가지 설정이 있다. core.autocrlf윈도에서 개발하는 동료와 함께 일하면 줄 바꿈(New Line) 문자에 문제가 생긴다. 윈도는 줄 바꿈 문자로 CR(Carriage-Return)과 LF(Line Feed) 문자를 둘 다 사용하지만, Mac과 Linux는 LF 문자만 사용한다. 아무것도 아닌 것 같지만, 크로스 플랫폼 프로젝트에서는 꽤 성가신 문제다. Git은 커밋할 때 자동으로 CRLF를 LF로 변환해주고 반대로 Checkout할 때 LF를 CRLF로 변환해 주는 기능이 있다.
줄 바꿈 문자로 LF를 사용하는 Linux와 Mac에서는 Checkout할 때 Git이 LF를 CRLF로 변환할 필요가 없다. 게다가 우연히 CRLF가 들어간 파일이 저장소에 들어 있어도 Git이 알아서 고쳐주면 좋을 것이다.
이 설정을 이용하면 윈도에서는 CRLF를 사용하고 Mac, Linux, 저장소에서는 LF를 사용할 수 있다. 윈도 플랫폼에서만 개발하면 이 기능이 필요 없다. 이 옵션을
|
'GitHub' 카테고리의 다른 글
GitHub_Git Bash : commit 히스토리를 push 하기 전에 취소 & 복구시키기 (0) | 2017.04.27 |
---|---|
GitHub_Git Bash : git log - repository의 commit 로그 확인하기 (0) | 2017.04.27 |
GitHub_Git Bash : 로컬PC안의 git Repository 수정사항 commit & push하기 (0) | 2017.04.27 |
GitHub_Git Bash : Git for Windows 설치, 내 PC에 git repository 동기화 (0) | 2017.04.27 |
GitHub : 회원가입 , Repository 만들기 , gitignore 설정, README.md 만들기 (0) | 2017.04.27 |