programing tip

디렉토리의 대소 문자를 변경했는데 Git이 선택하지 않는 것 같습니다.

itbloger 2020. 8. 17. 08:20
반응형

디렉토리의 대소 문자를 변경했는데 Git이 선택하지 않는 것 같습니다.


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에서 대소 문자를 구분하여 git mv하는 방법

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

다른 답변의 이중 이름 바꾸기 제안이 작동하지만 모범 사례 결과를 위해 '--force'를 사용하는 것이 좋습니다.

$ git mv --force somename SomeName


참고 : force 옵션없이 시도하면 git이 다음과 같이 표시합니다.

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

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


.gitconfig 파일에서 git 구성 옵션 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"
    

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


이 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. SourceTree는 항상 내가 원하는 것과 다른 케이스로 브랜치를 생성했습니다. 그래서 어떻게 해결했는지 :

1-Finder에서 git 파일을 확인하십시오. 터미널에 다음을 입력하여 수행 할 수 있습니다.

- `defaults write com.apple.finder AppleShowAllFiles TRUE`
- `killall Finder`

2-파인더를 다시 시작하고 프로젝트 디렉토리로 이동합니다.

3-이제 폴더 이름을 변경하고 기능에서 기능으로 변경한다고 가정 해 보겠습니다. 그리고 당신은 간다.


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

도움이 되었기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/6899582/i-change-the-capitalization-of-a-directory-and-git-doesnt-seem-to-pick-up-on-it

반응형