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.