git은 대소 문자를 구분하지 않습니까?
내 부분의 첫 번째 약속 _Electronics
에서 대문자로 시작하여 썼다가 _electronics
.
cygwin 아래의 Git은 새 이름을 커밋 한 후 케이스를 무시 했으므로 대상 저장소에서 이름을 직접 변경했습니다.
이제는 커밋 된 _electronics
부분을 _Electronics
.
내가 뭘 잘못 했어?
두 가지 다른 것으로 보이지만 대소 문자를 구분하지 않는 시스템에서 문제가 발생합니다. 이 경우 경로 또는 파일 이름을 탭으로 완성하고 있는지 확인하십시오. 또한 경우에 따라 이름을 변경하려면 다음을 수행하십시오.
mv file.txt temp.txt
git add -A
git commit -m "renaming..."
mv temp.txt File.txt
git add -A
git commit --amend -m "Renamed file.txt to File.txt"
이것은 커밋을 변경 한 다음 커밋을 축소하는 명시적인 방법입니다. 이를 수행하는 더 짧은 방법은 색인과 작업 폴더를 모두 하나로 조작하는 것입니다.
git mv file.txt temp.txt
git mv temp.txt File.txt
git commit -m "Renamed file.txt to File.txt"
이것은 디렉토리 이름을 조정하는 것과도 관련이 있습니다 : git mv 및 디렉토리의 대소 문자 만 변경
core.ignorecase
구성 값 에 따라 달라지며 대소 문자를 구분하는 파일 시스템에서는 false로 설정되고 Windows에서는 msysgit에서 true로 설정됩니다.
core.ignorecase
true 인 경우이 옵션을 사용하면 FAT와 같이 대소 문자를 구분하지 않는 파일 시스템에서 git이 더 잘 작동하도록 다양한 해결 방법을 사용할 수 있습니다. 예를 들어, git이 "Makefile"을 예상 할 때 디렉토리 목록에서 "makefile"을 찾으면 git은이 파일이 실제로 동일한 파일이라고 가정하고 "Makefile"로 계속 기억합니다.
기본값은 false입니다. 단, git-clone (1) 또는 git-init (1)은 저장소가 생성 될 때 적절한 경우 core.ignorecase true를 조사하고 설정합니다.
이것은 훨씬 쉽습니다.
git mv Electronics electronics -f
git commit -m "That was easy!"
git config --system core.ignorecase false
내 시나리오에서 나는 두 개의 폴더를 가지고 tests
하고 Tests
있는 두 Github에서의 별도의 폴더하지만 단일로했다 Tests
윈도우에서 폴더. 내 목표는 둘 다 tests
.
다음 접근 방식을 사용했습니다.
- 새 폴더 생성
temp
- 모든 콘텐츠를에서
Tests
로 복사temp
- 지우다
Tests
- 실행하다
git rm Tests -r
- 이름 바꾸기
temp
로tests
참고 URL : https://stackoverflow.com/questions/8481488/is-git-not-case-sensitive
'developer tip' 카테고리의 다른 글
코드 우선 DbContext에 연결 문자열 전달 (0) | 2020.09.18 |
---|---|
데이터베이스 / 모델에서 개체를 제거 할 때 Django 관리자가 파일을 삭제하도록하려면 어떻게해야합니까? (0) | 2020.09.18 |
tr 요소 주변의 테두리가 표시되지 않습니까? (0) | 2020.09.18 |
Angularjs 동적 ng- 패턴 유효성 검사 (0) | 2020.09.18 |
Visual Studio (2008)의 대규모 솔루션에 대한 모범 사례 (0) | 2020.09.17 |