디렉토리의 대문자를 변경했는데 Git이 찾지 못하는 것 같습니다. OS X Lion에서

Git 버전 제어를 받고있는 OS X Lion에서 프로젝트를 개발 중입니다. 나는이 소문자 디렉토리를 가지고 나중에 대문자를 사용했지만 (예 : emailaddresses => EmailAddresses) Git은 변경 사항을 인식하지 못하는 것 같습니다. 여전히 내가 git ls-files다른 명령을 실행할 때 디렉토리가 소문자라고 생각 합니다.

이것이 무해한가요, 아니면 Git이이 변화를 받아들이도록 다른 조치를 취해야합니까?



답변

대소 문자를 구분하지 않지만 HFS +를 사용하는 경우가 있습니다. 나는 보통 다음과 같이이 일을한다 :

$ git mv somename tmpname
$ git mv tmpname SomeName


답변

git에게 다음을 실행하여 사례를 고려하도록 지시 할 수 있습니다

git config core.ignorecase false


답변

Mac에서 대소 문자를 구분하는 방법

이는 Mac OS X이 사용자를 돕기 위해 대소 문자 보존 및 대소 문자 구분 기능을 구현하기 때문에 발생합니다.

다른 답변의 이중 이름 바꾸기 제안이 효과가 있지만 모범 사례 결과를 얻으려면 ‘–force’를 사용하는 것이 좋습니다.

$ git mv --force somename SomeName

참고 : 강제 옵션을 사용하지 않으면 git이 다음과 같이 바프합니다.

$ git mv somename SomeName
$ fatal: destination exists, source=somename, destination=SomeName

위의 예에서 git 명령은 실패하고 파일 시스템이나 git의 색인에서 파일이 변경되지 않습니다.


답변

.gitconfig 파일에서 git config 옵션 core.ignorecase를 false로 변경하십시오.


답변

다음 단계는 문제 해결에 도움이되었습니다.

  1. 폴더 이름을 다음으로 변경하십시오 temp.

    mv Folder temp                  // It will rename your Folder to temp
    
  2. 준비 및 커밋 :

    git add .
    git commit -m "Temp"
    
  3. temp폴더를 원하는 이름으로 변경 하십시오.

    mv temp folder        // It will rename temp folder to the name of your choice(folder)
    git add .
    git commit -m "Folder Fixed"
    

완료-이제 푸시 할 수 있습니다.


답변

git mv AAA aaa또는 을 수행하면 git mv -f AAA aaa작동하지 않으며 오류가 발생합니다fatal: renaming 'AAA' failed: Invalid argument .

때문에 AAA하고 aaa있는 ONE SAME 이동 대소 문자 구분 파일 시스템에서 폴더 / 파일 AAA에 대한 aaa수단 이동 AAAaaa/AAA .

그래서 당신은해야합니다

git mv AAA aaa.1
git mv aaa.1 aaa

도움이 되길 바랍니다.


답변

그 이유는 LINUX 기반 OS 또는 macOS가 파일 / 폴더 이름의 대소 문자를 무시하기 때문입니다. 아래 단계에 따라이 문제를 해결해야합니다.

For Exp, you want to change folder name from Base to base
1. mv Base base2
2. git add . && git commit -m "Fix folder name problem (wip)"
3. mv base2 base
4. git add . && git commit -m "Fixed folder name problem"