안녕하세요(・∀・)ゞ

     

    Git을 설치하고 GitBash에서 git add 명령어를 입력했는데

    git add bora.txt
    warning: LF will be replaced by CRLF in bora.txt.
    The file will have its original line endings in your working directory

    다음과같은 에러메세지가 떠서 검색한 결과 정리하고자 글을 남기게 되었습니다.

     

    영문 해석본
    warning: LF will be replaced by CRLF in bora.txt.
    The file will have its original line endings in your working directory

    경고 : bora.txt에서 LF는CRLF로 대체됩니다.
    파일은 작업 디렉토리에 원래 줄 끝이 있습니다.

     

    구글 번역기로 돌려보면 다음과같이 나오는데 LF? CRLF? 무엇이냐..

    CR과 LF는 Typewirter에 비롯됬다 한다..(싱기)

     

    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)
    • 커서를 다음라인 맨앞으로 옮겨주는 동작

     

    이렇게 플랫폼(OS)마다 줄바꿈을 바라보는 문자열이 다르기에
    형상관리를 해주는 Git이 바라볼 땐 둘 중 어느 쪽을 선택할지 몰라 경고 메세지를 띄워준 것.

     

     

    그래서 경고 메세지 해결방안은?

    autocrlf 사용

    check-in, check-out할 때 파일을 어떻게 처리할지 설정하는 변수

    + 시스템 전체 적용하고 싶다면 --global 옵션 추가하고
    전체가 아닌 해당 프로젝트에만 적용하고싶다면 옵션을 빼주면 됩니다.

     

    • core.autocrlf = true

    CRLF > LF 변경

    • core.autocrlf = false

    기본 설정
    플랫폼(OS) 상관없이 줄바꿈에 대한 문자열 그대로 인식해 저장 (문제발생 가능성 존재)

    • core.autocrlf = input

    LF를 line ending으로 사용한다.

     

    Windows, DOS 명령어

    git config --global core.autocrlf true

     

    Linux, MAC 명령어

    git config --global core.autocrlf input

     

     

    Ref

    [블로그] Git 에러 CRLF,LF 핸들링 방법

    [블로그] Git 설정 CRLF,LF

    [블로그] Git에서 CRLF 개행문자차이로인한 문제 해결

    [블로그] CR, LF란 무엇인가?

    [외국 블로그] 줄바꿈에 대해 자세히 적혀있음

    Posted by 개발자 다보