[Git] 디렉토리명에 포함된 특수문자 에러 git똥차게 해결해 보자

핫걸코더지망생·2023년 5월 22일
0

git & github

목록 보기
4/9
post-thumbnail

최근 멋사 과정에서 진행하는 오픈소스 프로젝트에 참여하고 있다.
본인이 가지고 있는 코테 문제를 다 모으는 것으로 프로젝트를 시작하였다.
그리고 그 과정에서 오늘 또 새로운 종류의 💌오류💌를 만났다.



💥 invaild path error 발생

오늘 내가 업로드 하려던 수박수박수박수박수? 문제를 다른 언어로 푸신 JY님의 디렉토리 이름에 ' ? '물음표 특수기호가 포함 되어 있었다.
git pull로 업데이트된 파일을 당겨 오려고 하니 에러가 발생하였다. 당황하지 않고 그냥 프로젝트 폴더를 지우고 다시 clone 해봤다.
그래도 아래와 같이 에러가 발생했다.



💢 Window에서만 발생한 오류

그런데 같이 프로젝트에 참여하시는 분 중 맥을 사용하시는 분은 정상 작동 되는 것이다? 그렇다. Windows에서는 다음과 같은 특수 문자가 디렉토리 명에 사용될 수 없는 것 이었다
\ / : * ? " < > |. 이 문자가 디렉토리 명에 포함되면 window 환경에서는 작동하지 않을 수 있다.





💫 오류 해결 방법

해결방법은 의외로 간단하다. 아래 명령어를 순서대로 입력하면 된다.

  • step1
    git config core.protectNTFS false
  • step2
    git checkout -f HEAD

아까와 마찬가지로 ' ? ' 문자가 포함된 수박수박수? 파일은 error가 뜨고 가져오지 못했지만... git clone 을 해오는데는 문제없이 진행되었다.





❓ 해결은 감사한데 누구세요?

  • step 1
    git config core.protectNTFS false
    -> 윈도우의 파일 시스템 NTFS를 비활성화
    ( NTFS: New Technology File System 으로 Microsoft Windows 운영체제에서 사용되는 파일 시스템)

  • step 2
    git checkout -f HEAD
    -> chekout명령어를 사용하여 불러오기~




💟 나온김에 또 짚고 넘어가자 'checkout'

Checkout 명령어는 다양한 기능을 수행한다.

  • 브랜치 전환 ex) git checkout feature 명령어는 "feature" 브랜치로 전환
  • 커밋 복원 ex) git checkout abc123 명령어는 "abc123"이라는 커밋으로 작업 디렉토리를 복원
  • 파일 복원 ex) git checkout HEAD -- myfile.txt 명령어는 "myfile.txt" 파일을 최신 커밋의 상태로 복원
  • 태그 전환 ex) git checkout v1.0 명령어는 "v1.0" 태그의 상태로 전환
  • 충돌 해결 ex) 충돌이 발생한 파일의 경로를 지정하여 복원
profile
산은 산, 물은 물, 코드는 코드

0개의 댓글