본문 바로가기
🔓 영구 노트

github actions는 ㄱr끔 대소문ㅈr를 구분ㅎr지 못한ㄷr.

by 파랭이가 룰루랄라 2023. 12. 16.

github actions가 분명히 있는 Header 컴포넌트를 찾지 못해 액션이 실패했습니다.

 

로컬에서는 npm run build가 문제없이 성공했기 때문에 이유를 쉽게 찾을 수 없었는데요. 그러다가 stackoverflow에서 다음 글을 찾게 되었습니다. (stackoverflow 1줄 요약 github config에 의해 가끔 디렉터리 이름 변경을 감지하지 못할 수 있다.)

 

글을 읽고 로컬에 저장된 디렉터리 이름과 원격 저장소에 저장된 디렉터리 이름을 확인해 봤더니 다르게 저장되어 있었습니다.

원격 저장소에 저장된 디렉토리 이름
로컬에 저장된 디렉토리 이름

문제 해결을 위해서는 로컬과 원격 저장소에 저장된 디렉토리 이름을 동기화 주어야합니다. 다음 과정을 모두 수행해주면 해결할 수 있습니다.

  • git config.ignoreCase false 명령어 입력
  • 변경 내역 commit, push
  • 원격 저장소에 저장된 잘못된 디렉터리 삭제

config.ignoreCase 옵션을 처음 접해본 기념으로 간략하게 알아보았습니다. 

옵션을 활성화되면, FAT 같은 대소문자를 구분하지 않는 파일 시스템에서 Git이 더 잘 작동하도록 다양한 해결책이 적용됩니다. 예를 들어, 디렉터리 목록에서 Git은 "Makefile"을 기대하는데 "makefile"을 찾았다면, Git은 실제로 같은 파일이라고 가정하고 "Makefile"로 계속 기억합니다. (https://www.git-scm.com/docs/git-config/2.14.6)

 

예시로 들어준 makefile, Makefile은 둘 다 나오면 같은 파일로 인지하고, Git이 파악한 디렉토리 이름을 우선으로 기억하는 것을 말하는 것이라고 이해되는데요. 잘 이해한 것인지 모르겠습니다.

댓글