답변:
그것을하는 방법에 대한 더 많은 힌트를 보려면 여기를보십시오 :
git이 변경 사항을 무시하도록 만드는 방법은 무엇입니까?
또는:
git mv -f name.java Name.java
git add
새로 이름이 바뀐 폴더를 수행하고 커밋하지 말고 폴더 이름을 원래대로 변경하십시오. , git add
그것은 다시 다음 커밋합니다.
Get-ChildItem '.' | Rename-Item {$_.Name.ToLowerCase()}
다음 단계를 통해 Windows에서 사례를 변경할 수있었습니다.
ignorecase = false
로 [core]
에 .git/config
;ignorecase = false
첫 번째 단계에서 추가를 제거하십시오 .이 방법으로 이름 바꾸기가 포함 된 단일 커밋이 있으며 전체 디렉토리와 같이 쉽게 변경할 수 있습니다.
조심해. 이렇게하면 병합 할 수없는 변경 사항이 발생할 수 있습니다. Git은 이전 대문자 이름과 새로운 소문자 이름이 같은 파일인지 아닌지를 결정할 수 없기 때문에 Windows에서 병합 할 때 혼란스러워합니다 (Git은 아니지만 파일 시스템을 위해). 병합하려면 병합하기 전에 파일을 삭제하는 것과 같은 수동 해결 방법을 수행해야합니다.
보다 이름은 같지만 대소 문자가 다른 파일의 Git rebase 문제
이 문제가 프로젝트에 틀에 얽매이지 않은 이름의 파일을 가지고있는 것보다 더 나쁘지 않은지 확실하지 않지만 많은 병합을 가진 많은 사용자가 결국 병합되어야하는지 아는 것이 가치가 있습니다.
제 생각에는 간단한 방법이 하나 없습니다. 단일 파일, 특정 디렉토리 또는 전체 저장소에 대해이를 수행 할 수 있습니다.
git rm --cached <file name or directory>
git add <file name or directory>
하위 디렉토리에도 영향을 미치려면 다음 -r
플래그 를 사용해야합니다 .
git rm -r --cached <directory>
git add <directory>
NTFS (또는 FAT)에서는 단일 git mv
명령으로 문제를 해결할 수 없습니다. 이 질문은 작동하는 기술을 보여줍니다 :
git mv and only case case of directory
git mv
이 작동합니다 ( stackoverflow.com/a/24979063/6309 ). 심지어 Windows에서도.