Git의 라인 인코딩 변환 설정 이해하기
Git은 운영체제마다 다른 라인 끝 표시(Line Ending) 규약을 해결하기 위해 자동으로 라인 인코딩을 변환하는 기능을 제공합니다. 이로 인해 개발자들은 종종 다음과 같은 메시지를 접하게 됩니다:
"in the working copy of 'package.json', LF will be replaced by CRLF the next time Git touches it"
이 메시지는 Git이 package.json 파일의 라인 인코딩을 LF(Line Feed)에서 CRLF(Carriage Return + Line Feed)로 변환할 것이라는 것을 알려주는 것입니다.
운영체제별 라인 끝 표시 규약
- Windows에서는 일반적으로 CRLF가 사용됩니다.
- Unix 기반 시스템(Linux, macOS)에서는 일반적으로 LF가 사용됩니다.
Git은 이러한 차이를 해결하기 위해 기본적으로 작업 중인 파일의 라인 인코딩을 CRLF로 변환하는 설정을 가지고 있습니다.
문제 발생 시 해결 방법
이 메시지가 문제가 되는 경우는 파일의 라인 인코딩이 중요한 경우, 예를 들어 Linux 환경에서 작업하는 경우입니다. 이때는 Git의 라인 인코딩 변환 설정을 변경할 수 있습니다.
Git 설정에서 core.autocrlf를 input으로 설정하면, Git이 파일을 체크아웃할 때 CRLF를 LF로 변환하고, 커밋할 때는 LF를 CRLF로 변환하지 않습니다.
복사
git config --global core.autocrlf input
이렇게 설정하면 위의 메시지가 더 이상 표시되지 않을 것입니다.
Git의 라인 인코딩 변환 설정은 개발 환경에 따라 적절히 조절하여 사용하는 것이 중요합니다. 이를 통해 개발자들은 운영체제 간 호환성 문제 없이 원활하게 협업할 수 있습니다.
LIST
'Study > Git' 카테고리의 다른 글
ssh key 등록 에러날 때 It is required that your private key files are NOT accessible by others.This private key will be ignored. (1) | 2023.03.04 |
---|---|
[해결] Could not open a connection to your authentication agent (0) | 2022.06.22 |
[Git] Reset을 이용한 Merge 취소 (0) | 2022.06.02 |
[Git] Permission denied (publickey) 에러 해결방법 (0) | 2022.04.30 |
[Git] Git push 할 때 username, password 물어보면? (0) | 2022.04.30 |