[git] LF will be replaced by CRLF in

Tae_Tae·2024년 8월 29일
0

이것저것

목록 보기
1/8

Git에서 발생하는 LF와 CRLF 경고 메시지 해결 방법

git add . 명령어를 실행할 때 예상치 못한 에러 메시지가 나타날 수 있는데

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

(유닉스 계열 OS(macOS, Linux)를 사용 중이라면 "LF"와 "CRLF"의 위치가 반대로 나타날 수 있습니다.)

에러 발생 원인


이 경고 메시지는 운영 체제마다 사용하는 줄바꿈 문자열이 다르기 때문에 발생합니다. Git은 다양한 OS에서의 협업을 고려해, 특정 파일의 줄바꿈(LF 또는 CRLF)을 자동으로 처리하려고 시도합니다. 이 과정에서 충돌이 발생하면 경고 메시지를 출력합니다. 이러한 문제가 해결되지 않으면 줄바꿈 문자 차이로 인해 커밋 내역이 의도치 않게 변경되거나, 설정 파일이 잘못될 수 있습니다. 따라서 줄바꿈 문자열을 통일하는 것이 좋습니다.

에러 해결 방법


이 문제는 Git의 core.autocrlf 설정을 통해 해결할 수 있습니다. 이 설정은 Git이 커밋 시 줄바꿈 문자열(LF와 CRLF)을 자동으로 변환하도록 해줍니다. 시스템 전체에 이 설정을 적용하려면 --global 옵션을 사용하고, 특정 프로젝트에만 적용하려면 옵션을 제외하고 설정합니다.

window, dos


Windows에서는 CRLF(Carriage Return Line Feed)를 기본 줄바꿈으로 사용하므로, 다음과 같이 설정합니다:

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

위 두 명령어 중 하나를 선택해 입력합니다. --global 옵션이 있으면 모든 프로젝트에 적용되고, 없으면 현재 프로젝트에만 적용됩니다.

Linux, mac


Linux와 macOS에서는 LF(Line Feed)를 기본 줄바꿈으로 사용하므로, 다음과 같이 설정합니다:

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

input 설정은 Git이 커밋할 때만 CRLF를 LF로 변환하고, 체크아웃 시에는 변환하지 않도록 합니다.

기능 해제


줄바꿈 변환 기능을 완전히 비활성화할 수도 있습니다. 이 경우 경고 메시지는 사라지지만, 줄바꿈 차이로 인한 문제를 스스로 관리해야 합니다:

$ git config --global core.autocrlf false

이 설정은 줄바꿈 문자열을 변환하지 않도록 하여, LF와 CRLF 간 변환을 피할 수 있습니다.

참고 자료
https://velog.io/@realzu/Git-LF-will-be-replaced-by-CRLF-in-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0%EB%B2%95

0개의 댓글