ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ Git ] "LF will be replaced by CRLF in" 에러 해결 방법
    TIL 2024. 1. 22. 23:13
    728x90

     

     

    최근 React 개인 프로젝트를 하던 도중

    git add . 를 했는데

    warning : LF will be replaced by CRLF in /파일경로/
    The file will have its original line endings in your working directory.

     

    위 메세지가 뜨면서 add . 가  정상적으로 되질 않았다. 

    이게 어떤 뜻인지 몰라 검색해보니

     

    이 메세지는 Git이나 다른 버전 관리 시스템에서 발생하는 것으로, 주로 Windows 환경에서 Linux 또는 macOS와 

    같은 다른 운영체제에서 작업한 코드를 처리할 때 나타날 수 있다.

    이 메시지는 파일의 줄 바꿈 문자(line endings)가 변경되었음을 나타낸다.

    LF(Line Feed)와 CRLF(Carriage Return + Line Feed)는 각각 Linux 및 macOS와 Windows에서 

    사용되는 줄 바꿈 문자이다. Linux 및 macOS에서는 LF가 사용되고, Windows 에서는 CRLF가 사용된다.

     

    이 메세지는 일반적으로 다른 운영 체제에서 가져온 파일을 현재 작업 중인 운영 체제의

    줄 바꿈 문자로 변환할 때 나타난다고 한다.

     

    사실 위 설명을 읽어도 이해하기는 어려웠다. 그래서 구글링을 통해 얻어낸

    오류 해결 방법에 대해 공유해보고자 한다.

     

    📌 에러 발생 이유 ( 간단한 요약 )

    OS마다 사용되는 줄바꿈 문자열이 다르기 때문에 git 에서 어떤 의미로 받아들여야 할지 몰라
    에러 메세지가 나타나는 것. 

     

    해결 방법

    core.autocrlf 설정을 통해 해결이 가능하다. 이것은 Git에 코드를 커밋할때 LF 와 CRLF를 서로 변환해주는 기능이다. 추가적으로, 시스템 전체에 적용할 것이라면 global 옵션을 추가해주고, 해당 프로젝트에만 적용한다면 global을 제외하고 작성하면 된다.

     

     

    🚀 Windows, DOS 명령어

    $git config core.autocrlf true
    $git config --global core.autocrlf true

    global 추가 유무에 따라 둘 중에 하나를 선택 입력해야한다.

     

    🚀 Linux, Mac 명령어

    $git config core.autocrlf input
    $git config --global core.autocrlf input

    global 추가 유무에 따라 둘 중에 하나를 선택 입력해야한다.

     

    🚀 기능 해제 명령어

    $git config --global core.autocrlf false

    위의 명령어들과는 달리, core.autocrlf 기능을 제한하는 방법도 존재한다.

    기능을 해제하면 줄바꿈 문자열을 변환하지 않아도 에러를 내지 않는다.

     

    위의 3가지 방법중에 나에게 맞는 방법을 선택해서 입력하면 해결이 가능하다.

    728x90
Designed by Tistory.