git 대소문자 구분하여 적용하기

dongEon·2024년 6월 13일
0

git issue

목록 보기
1/1
post-thumbnail

git 대소문자 구분 이슈


문제상황

vscode로 파일명을 대소문자만 변경해서 push를 했는 데 왠걸 원격 브랜치의 파일명이 그대로 유지되는 일이 있었습니다.
해당 문제를 파악하지 못한채 pr을 올려버렸고 merge 된 main을 실행해보면 파일명과 import 한 파일의 대소문자가 달라 에러가 발생하는 이슈가 생겼습니다.

어떻게 해결했는가?

신속하게 구글링을 했고 해당 이슈는 여러 사람들도 많이 겪은 이슈라 어렵지 않게 해결할 수 있었습니다.
해결 방법은 크게 두가지가 있었는 데 git mv 명령어와 git config core.ingnorecase false 방법이 있었습니다.

git mv 명령어란

git mv 명령어는 git에서 파일을 이동하거나 이름을 변경하는 데 사용됩니다.

  1. 파일 이름 변경
git mv old_filename.txt new_filename.txt
  • old_filename.txt -> new_filename.txt 으로 변경
  1. 파일 이동
git mv filename_txt new_directory/
  • filename.txt 파일을 new_directory 디렉토리로 이동합니다.
  1. 파일 이동 및 이름 변경
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.ingnorecase 명령어란

git config core.ignorecase는 git 설정에서 파일 이름의 대소문자 구분을 활성화하는 옵션입니다.

window나 macos의 경우 파일 시스템을 대소문자를 구별하지 않지만 Linux의 경우 대소문자를 구분하므로 크로스 플랫폼 개발시 유용한 설정입니다.

git config core.ignorecase설정을 true로 할 경우 git이 파일 이름의 대소문자를 무시합니다.
예를들어 README.mdreadme.md를 같은 파일로 인식합니다.

false로 설정 할 경우 git이 파일 이름의 대소문자를 구분합니다. README.mdreadme.md를 다른 파일로 인식합니다.

결론

저는 git mv 명령어를 이용하여 문제를 해결했습니다만. git config core.ignorecase 명령어는 어떤 건지 궁금해서 더 찾아보았고 각각의 해결방법을 정리해서 작성하게 되었습니다.

profile
개발하면서 생긴 이슈와 알게된 점, 알고리즘 등을 기록하는 블로그입니다.

0개의 댓글