본문 바로가기
컴퓨터

[Git] 파일명 대소문자 구분이 안되는 경우

by IT황구 2022. 10. 1.
728x90
반응형

후.. 생각지도 못한곳에서 에러가 생겨서 기록하고자 합니다.

발생 배경

  • 토이프로젝트를 하던 중, page/xxx.ts로 있던 파일들을 컴포넌트로 옮기는 작업을 하던 중이었습니다.

 

  • 지에 있던것들을 `component` 폴더로 옮겼습니다. 그 이후 그냥 아무 생각없이 pr을 올리고 merge를 했습니다.
  • 며칠 후에 component 폴더에 있는 컴포넌트명이 소문자인것을 보고 대문자로 변경을 했습니다. 그 이후... 배포를 했는데 뭔가 이상합니다

 

  • 잘 돌아가던 페이지가 고장났다고 합니다.. 아무리봐도 내 로컬에서는 잘 돌아가는데 이해를 할 수 없었습니다.

원인

하.. 깃이 대소문자 구분을 못하네

  • 배포를 담당하는 브랜치를 가보니 파일명이 'history', 'bookmark' 이렇게 소문자로 되어있습니다. 뭐지? 싶어서 지난 Pr들을 뒤져봤습니다... 파일명을 변경해주는게 아무것도 없었습니다.
  • 로컬에서 파일명을 대소문자만 변경해서 임의로 테스트 해봅니다.. 감지를 못합니다.. 하 씁;;
  • 깃이 알고보니 대소문자 구분을 못했습니다.. pr을 제대로 확인하지 않은 잘못도 있었지만.. 이런 이유가 ;;

해결방법

하..

git config core.ignorecase false

  • 위의 명령어를 입력하자, 변경된 사항을 감지하기 시작했습니다.
    • 변경된것을 배포하니까 잘 되었습니다. 그런데 문제가 생깁니다.
    • 기존에 소문자로 된것들을 삭제했는데, 깃이 또 모릅니다.. 하 뭐지

git rm \-r \--cached .
 git add \--all .

  • 위의 명령어를 입력하니, 소문자로 삭제했던 파일들도 감지를 하고, 삭제할 수 있었습니다.
    • 현재 디렉토리의 모든 파일들의 캐시를 삭제합니다 ( 이러면 모든 파일들이 changed 상태로 변합니다 )
    • 그 이후에 현재 디렉토리 상태를 다시 add하면, 사라진 파일을 알아채게 됩니다.

미리 대소문자 구분을 켜 두는것이 좋아보입니다.

처음 안 사실이라.. ㅋㅋ

Reference

728x90
반응형