git add .을 하는 순간 아래와 같은 에러가 났다.
warning: LF will be replaced by CRLF in (파일경로)
The file will have its original line endings in your working directory
이는 윈도우에서 발생하는 에러 메시지로, 만약 유닉스 OS(맥)을 쓰고 있다면 LF와 CRLF의 위치가 반대되어 나올 것이다.
📍 LF란?
LF는 Line-Feed의 약자이다.
단어가 타자기에서 비롯되었듯이, 커서는 그 자리에 둔 상태에서 종이만 한 줄을 올리는 동작을 말한다.
Mac, Linux(Unix)에서 사용되는 줄바꿈 문자열(\n)이다.
📍 CRLF란?
CRLF는 Carriage Return Line-Feed의 약자이다.
여기서 Carriage Return이란 문장이 끝에 다다르면 커서는 위아래 이동 없이 가장 앞으로 이동하는 동작을 말한다.
즉, CRLF는 커서를 다음 라인의 맨 앞으로 이동하는 동작이다.
Windows에서 사용되는 줄바꿈 문자열(\r\n)이다.
📍 에러 발생 이유
OS마다 사용되는 줄바꿈 문자열이 다르기 때문에 git에서 어떤 의미로 받아들여야 할지 몰라 에러 메시지가 나타난 것이다. 에러를 해결하지 않으면 줄바꿈 문자에 의해 커밋 내역이나 설정 파일들이 이상해질 수 있으니 통일시키는 것을 추천한다.
👊 해결 방법
core.autocrlf 설정을 통해 해결할 수 있다. Git에 코드를 커밋할 때 LF와 CRLF를 서로 변환해주는 기능이다. 또한 시스템 전체에 적용할 것이라면 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 기능을 해제하는 방법도 있다. 해제함으로써 줄바꿈 문자열을 변환하지 않아도 에러 메시지를 안뜬다. 위의 방법과 해당 방법 중에서 선택하여 입력하면 될 것 같다.
'etc' 카테고리의 다른 글
GitHub | Authentication failed 해결과 토큰 발급 방법 (0) | 2024.07.26 |
---|---|
Git 설치 사용법 명령어 (1) | 2023.12.21 |
셀렉트 SELECT 의 배경색 및 폰트 색상 변경 (0) | 2023.11.28 |
mecab 설치 (with centos 7) (1) | 2023.11.21 |
텍스트 박스 이전 입력 값 안나오게 하기 (자동 입력 방지, 텍스트박스 힌트) (0) | 2023.09.15 |