Git의 대소 문자 구분


82

git에 문제가 발생했습니다. 기본적으로 core.ignorecase일부 폴더 이름의 대소 문자를 변경하고 싶었 기 때문에 false로 설정했습니다 (대소 문자를 구분하지 않는 파일 시스템을 사용하는 OSX에서 변경 사항이 다르게 표시되지 않았기 때문에). 데이터를 가져 왔을 때 이름이 바뀐 모든 폴더가 이전 이름과 새 이름으로 저장소에 두 번 나타납니다. 로컬에 나타나지 않기 때문에 이전 폴더를 제거하려면 어떻게해야하는지 모르겠습니다 ( core.ignorecase다시 true 로 설정하려고 했지만 도움이되지 않습니다).


1
이미지 위에 ext3 파일 시스템을 만들고 마운트 한 다음 대소 문자를 구분하는 파일 시스템을 가져올 수 있습니다.
André Puel 2012 년

@ AndréPuel 음, 실제로 나는 '쉬운'것을 찾고있었습니다. : P하지만 조언을 해주셔서 감사합니다. 다른 해결책을 찾지 못하면 가겠습니다.
엔트로피 드

답변:


123

msysgit 문제 (다른 대소 문자를 구분하지 않는 OS : Windows의 경우) 에서이 주석 과 유사한 해결 방법 도움이 될 수 있습니까?

이 같은 문제가 발생했습니다. Eclipse에서 패키지 이름을 리팩터링하고 폴더 이름이 되 ​​돌리지 않아 이전 빌드로의 전환이 중단되었습니다. Windows 7, Git 1.7.0.2.msysgit.0을 사용하고 있습니다.

내 폴더는 Windows에서 " folder" 로 이름이 바뀌 었지만 FolderGit 에서는 " " 로 표시되었습니다 . Windows에서
이름을 " Folder" 로 바꾼 다음 실행 하여 문제를 해결했습니다 .

git mv "Folder" "Folder2"
git mv "Folder2" "folder"

참고 자식 2.0.1 (6 월 2014 년) 이후, git mv Folder folder그냥 작동한다!

페이지의 " 힘내 : 파일 이름의 대소 문자 변경 "


1
나는 이런 식으로 이름을 바꿀 때, 두 번째 이름 변경이 걸릴 수 있습니다 것으로 나타났습니다 looooong 시간을. 대답은 인내하는 것입니다. 결국 폴더 이름이 바뀌면 커밋 할 수 있습니다.
NathanAldenSr

같은 것을 얻는 또 다른 방법은 "Folder"의 이름을 "Folder2"로 바꾸고 커밋 한 다음 "Folder2"를 "folder"로 변경하고 마지막 커밋을 수정하는 것입니다.
DaniCE 2015 년

@DaniCE 방금 대답을 편집했습니다 .git 2.0.1을 사용하면 훨씬 간단합니다.
VonC 2015 년

21

대소 문자를 구분하는 파일 시스템으로 디스크 이미지 (바람직하게는 sparsebundle 디스크 이미지)를 생성하고 거기에서 git 저장소를 체크 아웃 할 수 있습니다.

아래의 디스크 유틸리티 스크린 샷은 대소 문자를 구분하는 디스크 이미지를 만드는 방법을 보여줍니다.

디스크 유틸리티 설정


이 문제와 대소 문자 구분으로 인한 기타 미스터리에 대한 훨씬 더 좋고 영구적 인 해결책입니다. 디스크 이미지를 만들었습니다. 내 이전 Git 저장소를 복사했습니다. 모든 git 저장소를 새롭고 희소 번들 버전으로 유지하는 데 사용되는 심볼릭 링크를 만들었습니다. 다시는 이러한 문제가 발생하지 않도록 일반 워크 플로로 돌아갑니다.
jwd630 2015

이 방법으로 생성 된 디스크는 매우 느립니다.
Minqi Pan

1
@MinqiPan, 저도 똑같은 걱정을했지만 APFS 볼륨을 만들면 안됩니다. APFS 볼륨은 동일한 "컨테이너"파티션에 존재할 수 있으므로 성능 저하가 없습니다.
Victor Sergienko 2019

21

macOS에서 다음 명령을 사용하십시오. 그러면 파일 이름에서 대소 문자를 구분하도록 git 구성이 변경됩니다.

git config core.ignorecase false

다음 과 같이 편집 ~/.gitconfig하고 설정하여 전역 적으로 설정할 수 있습니다 core.

[core]
    ignoreCase = false

git이 케이스 이름 변경을 포함하는 rebase를 성공적으로 수행하도록하기 위해 정확히 반대의 작업을 수행했습니다. 감사!
sorin 2010 년

12

Mac OS X은 기본적으로 "대소 문자를 구분하지 않지만 대소 문자는 유지"합니다. 이것은 중요한 차이점입니다.

다른 디스크 이미지를 만들고 구체적으로 "HFS 대소 문자 구분"으로 포맷하는 것이 좋습니다.


팁 주셔서 감사합니다.하지만 위의 게시물이 모든 것을 해결했습니다!
entropid

7
불행히도 많은 나쁜 소프트웨어 (물론 Adobe)는 기본적으로 손상된 OSX 파일 시스템에 의존합니다. 조심하세요.
Jim Stewart


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.