반응형
Git은 기본적으로 대소문자를 구분한다. Readme.md와 README.md는 서로 다른 파일이지만 일부 FAT와 같은 파일시스템은 대소문자를 구분하지 않는 경우있다. 이를 위해 Git은 core.ignoreCase 설정을 제공한다.
Git config: core.ignoreCase
core.ignoreCase는 Git이 대소문자를 구분하지 않는 파일시스템에서 잘 동작하도록 도와주는 설정이다.
# 대소문자 구분 무시
git config core.ignoreCase true
기본값인 false의 경우 대소문자를 구분하여 처리한다.
# 대소문자 구분
git config core.ignoreCase false
하지만, true의 경우 파일명을 비교할 때 내부적으로 대소문자를 무시하여 수행한다.
예를 들어, Makefile 파일을 추적하고 있는 상태에서 makefile로 이름을 변경했을 때 같은 파일로 간주한다.
# core.ignoreCase 설정 확인
git config core.ignoreCase
추가
File name 'c:/project/makefile' differs from already included file name 'c:/project/MakeFile' only in casing.
Typescript 프로젝트에서 Git이 추적하는 파일명을 소문자로 변경하며 위와 같은 에러가 발생했었다.
이 경우 makefile과 MakeFile을 import 하는 코드가 중복되어 발생했었고, 파일명을 통일시켜 해결하였다.
반응형