git가 변경 사항을 무시하도록 만드는 방법은 무엇입니까?


106

여기서 무슨 일이 일어나고 있는지 잘 모르겠지만 때때로 내 저장소의 특정 파일이 이름의 대소 문자를 변경합니다. 예 :

전에: File.h

후: file.h

왜 이런 일이 발생하는지는 신경 쓰지 않지만, 이로 인해 git이 새 파일이라고 생각하게되며 파일 이름을 다시 변경해야합니다. git이 대소 문자 변경을 무시하도록 할 수 있습니까?

[편집] 이 가장 많이 나는 열 때 변경 한 후이를 저장 일어날 것 때문에, 그것은 비주얼 스튜디오는 특정 파일을 이상한 뭔가를하고있는 것으로 판단됩니다. 하지만 VS에서 버그를 고칠 수있는 방법은 없지만 git은 내가 바라는 것이 조금 더 유능해야합니다.


1
Re : Visual Studio에서 모두 소문자로 파일 저장 사용중인 Visual Studio 버전은 무엇입니까? 마지막으로 2008 버전에서 이것이 더 나은 것 같음을 확인했습니다. 2005 년에는 솔루션 탐색기 대신 디버거를 통해 파일을 열 때 버그가 발생하는 것처럼 보였습니다.
Adam Mitz

실제로 예 이것은 2005 년입니다. 잠시 동안 업그레이드의 기회는 없습니다.
1800 정보

답변:


177

버전 1.5.6부터 섹션 ignorecase에서 사용할 수 있는 옵션이 있습니다.[core].git/config

예 : 추가 ignorecase = true

하나의 저장소에 대해서만 변경하려면 해당 폴더에서 다음을 실행하십시오.

git config core.ignorecase true

전체적으로 변경하려면 :

git config --global core.ignorecase true

21
git config core.ignorecase true 또는 git config --global core.ignorecase true는 전역 적으로 적용됩니다.
Aaron Jensen

@graywh : core.ignorecase ( kernel.org/pub/software/scm/git/docs/git-config.html ) 아래의 git-config에 문서화되어 있습니다.
Ben

4
감사합니다. 마침내 git이 내 케이스 변경 사항을 고려하지 않는 이유를 찾았습니다. ignorecase = false트릭, 그것은 디폴트로했다 않았다 true-_-
알렉스 C에게

15

다음 명령을 사용하여 git이 대소 문자 만 파일 이름을 변경하도록 할 수 있습니다.

git mv --cached name.txt NAME.TXT

이것은 Windows 파티션의 체크 아웃 된 복사본에있는 파일의 대소 문자를 변경하지 않지만 git은 대소 문자 변경을 기록하고 해당 변경 사항을 커밋 할 수 있습니다. 향후 체크 아웃에서는 새 케이스를 사용합니다.


1
"오류 : 알 수없는 옵션`캐시 됨 '." 문서에 나열되어 있지 않습니다. git-scm.com/docs/git-mv
Alex

12

Windows 용 git 버전 1.6.1.9에서 config의 "ignorecase = true '가 이미 기본적으로 설정되어 있음을 발견했습니다.


7
예, Java 파일로 작업 할 때이 설정을 false로 설정해야합니다. 그렇지 않으면 이러한 리팩토링을 수행 할 때 문제가 발생할 수 있습니다 (클래스 HTMLParser가 HtmlParser 또는 그 반대가 됨).
PhiLho

자식 버전 2.10.1.windows.1에 대한 동일
카르 스 Barendrecht의

3
나는 이것이 오래되었다는 것을 알고 있지만 Windows는 대소 문자를 구분하지 않는 운영 체제이므로 ignorecase를 false로 설정하는 것은 무의미합니다. 이것은 Java 또는 (gasp!) C # 또는 다른 작업을하든 상관없이 적용됩니다.
ingyhere

5

질문에 설명 된 상황은 이제 Mac OS X, git 버전> = 1.7.4 (내 생각에)에서 다시 발생합니다. 해결 방법은 ignorecase = false를 설정하고 소문자 파일 (Visual Studio가 아닌 git이 그렇게 변경됨)을 직접 UsualCase로 다시 이름을 바꾸는 것입니다 (예 : 'mv myname MyName').

여기에 더 많은 정보가 있습니다 .

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