kokoball의 devlog
article thumbnail
728x90

문제 상황

팀 프로젝트를 진행하는 중, 제 PC에서는 폴더명이 소문자인 상태에서 첫 글자만 대문자로 변경하여 커밋 후 푸시했더니, 제 PC에서는 문제없이 반영되었지만 팀원들에서는 전혀 적용되지 않는 상황이 발생했습니다.

왜 이런 문제가 생기는 걸까요?

원인

Git은 기본적으로 파일명이나 폴더명의 대소문자 차이를 구분하지 않습니다.
특히 Windows나 macOS와 같이 대소문자 구분이 없는 파일 시스템에서는 단순히 대소문자만 변경한 경우 Git이 변경 사항으로 인식하지 않거나, 변경 사항이 공유되지 않는 문제가 발생할 수 있습니다.

해결 방법

이 문제를 해결하려면 Git이 대소문자를 무시하지 않도록 설정을 변경해야 합니다.

 

1. Git 설정 변경: 대소문자 무시 기능 끄기

터미널에서 아래 명령어를 실행하여 Git이 파일명과 폴더명의 대소문자를 엄격하게 구분하도록 설정합니다.

git config core.ignorecase false

 

2. 파일명 또는 폴더명 변경

예를 들어, 기존 파일명이 customer.js인 경우 이를 Customer.js로 변경합니다.
로컬에서 파일명을 변경한 후 변경 사항을 커밋하고 푸시합니다.

# 파일명 변경 (Linux, macOS 기준)
mv customer.js Customer.js

# 변경 사항 커밋 및 푸시
git add .
git commit -m "Change customer.js to Customer.js"
git push origin main

 

이렇게 하면, 팀원들도 변경된 파일명을 제대로 인식하게 됩니다.

보너스: 캐시 문제 해결

혹시 변경 후에도 Git 저장소 내에 이전 캐시가 남아 있어 요상한 메시지가 뜬다면, 아래 명령어로 캐시를 지워줄 수 있습니다.

git rm --cached -r .
git add .
git commit -m "Refresh cache for case sensitive filenames"
git push origin main

 

이 명령어들은 Git의 캐시를 제거한 뒤, 다시 파일을 추가하여 대소문자 변경 사항을 강제로 반영합니다.

728x90
profile

kokoball의 devlog

@kokoball-dev

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!