vscode로 파일명을 대소문자만 변경해서 push를 했는 데 왠걸 원격 브랜치의 파일명이 그대로 유지되는 일이 있었습니다.
해당 문제를 파악하지 못한채 pr을 올려버렸고 merge 된 main을 실행해보면 파일명과 import 한 파일의 대소문자가 달라 에러가 발생하는 이슈가 생겼습니다.
신속하게 구글링을 했고 해당 이슈는 여러 사람들도 많이 겪은 이슈라 어렵지 않게 해결할 수 있었습니다.
해결 방법은 크게 두가지가 있었는 데 git mv
명령어와 git config core.ingnorecase false
방법이 있었습니다.
git mv
명령어는 git에서 파일을 이동하거나 이름을 변경하는 데 사용됩니다.
git mv old_filename.txt new_filename.txt
old_filename.txt -> new_filename.txt
으로 변경git mv filename_txt new_directory/
filename.txt
파일을 new_directory
디렉토리로 이동합니다.git mv old_filename.txt new_directory/new_filename.txt
old_filename.txt
파일을 new_directory
디렉토리로 이동하면서 이름을 new_filename.txt
로 변경합니다.git mv old_filename.txt OLD_FILENAME.txt
해당 방법을 통해 문제를 해결했습니다.
git config core.ignorecase
는 git 설정에서 파일 이름의 대소문자 구분을 활성화하는 옵션입니다.
window나 macos의 경우 파일 시스템을 대소문자를 구별하지 않지만 Linux의 경우 대소문자를 구분하므로 크로스 플랫폼 개발시 유용한 설정입니다.
git config core.ignorecase
설정을 true로 할 경우 git이 파일 이름의 대소문자를 무시합니다.
예를들어 README.md
와 readme.md
를 같은 파일로 인식합니다.
false로 설정 할 경우 git이 파일 이름의 대소문자를 구분합니다. README.md
와 readme.md
를 다른 파일로 인식합니다.
저는 git mv
명령어를 이용하여 문제를 해결했습니다만. git config core.ignorecase
명령어는 어떤 건지 궁금해서 더 찾아보았고 각각의 해결방법을 정리해서 작성하게 되었습니다.