[git] Git에서 파일 이름의 대문자 변경
이전과 다른 대문자를 사용하도록 파일 이름을 바꾸려고합니다.
git mv src/collision/b2AABB.js src/collision/B2AABB.js
fatal: destination exists, source=src/collision/b2AABB.js, destination=src/collision/B2AABB.js
보시다시피, Git은 이에 적합합니다. 나는 평범한 이전 mv
명령을 사용하여 이름을 바꾸려고 했지만 Git은 이름 바꾸기 또는 이름 이없는 새로운 파일로 이름 바꾸기를 선택하지 않습니다 .
같은 이름의 다른 대문자를 사용하도록 파일을 어떻게 변경합니까? Z 쉘 (zsh) 4.3.15를 사용하여 Git 1.7.9.1이 설치된 Mac OS X v10.7.3 (Lion)을 사용하고 있습니다.
답변
Git 2.0.1 (2014 년 6 월 25 일)부터는 git mv
대소 문자를 구분하지 않는 OS에서만 작동합니다 .
참조 baa37bf 커밋 에 의해 데이비드 터너 ( dturner-tw
) .
mv
: 대소 문자를 구분하지 않는 파일 시스템에서 이름을 바꾸어 대소 문자를 수정하도록 허용
git mv hello.txt Hello.txt
대소 문자를 구분하지 않는 파일 시스템에서 ” “는 항상 ” destination already exists
“오류를 발생 시킵니다. 이 두 이름은 파일 시스템의 관점에서 동일한 경로를 참조 --force
하며 색인 및 다음 커밋.
이 사례를 감지하고 ”
--force
” 이 없어도 됩니다.
git mv hello.txt Hello.txt
그냥 작동합니다 (더 --force
이상 필요하지 않음).
다른 대안은 다음과 같습니다.
git config --global core.ignorecase false
파일 이름을 직접 바꾸십시오. 자식 추가 및 커밋.
답변
답변
때로는 대소 문자를 구분하지 않는 파일 시스템 (예 : OS X 또는 Windows)에서 많은 파일 이름의 대문자를 변경하려고합니다. git mv
명령을 수행하면 빨리 지칠 것입니다. 일을 조금 더 쉽게하기 위해 이것이 내가하는 일입니다.
- 디렉토리 외부의 모든 파일을 데스크탑으로 옮깁니다.
- 마십시오
git add . -A
모든 파일을 제거합니다. - 데스크탑의 모든 파일 이름을 대문자로 바꿉니다.
- 모든 파일을 원래 디렉토리로 다시 이동하십시오.
- 를 수행합니다
git add .
. 힘 내야 파일 이름이 바뀐 것을 볼 수 있습니다.
이제 파일 이름 대문자를 변경했다는 커밋을 만들 수 있습니다.
답변
OS X의 파일 이름은 대소 문자를 구분하지 않습니다 (기본적으로). 이것은 Git 문제보다 OS 문제입니다. 파일을 제거하고 읽은 경우 원하는 것을 얻거나 다른 이름으로 바꾸고 다시 이름을 바꿔야합니다.
답변
설정 ignorecase
에 false
자식 설정에
원래 게시물은 “Git에서 파일 이름의 대문자 변경”에 관한 것입니다.
프로젝트에서 파일 이름의 대문자를 변경하려는 경우 Git에서 파일 이름 을 강제로 바꿀 필요가 없습니다 . IMO, IDE / 편집기에서 대문자를 변경하고 이름 바꾸기를 선택하도록 Git을 올바르게 구성했는지 확인하십시오.
기본적으로 Git 템플릿은 대소 문자를 무시하도록 설정되어 있습니다 (Git 대소 문자 구분). 기본 템플릿이 있는지 확인하려면을 사용 --get
하여 지정된 키의 값을 검색하십시오. 사용 --local
및 --global
로컬 힘내 저장소 구성 또는 글로벌 한에서 구성 키 – 값을 선택할지 여부를 힘내에 나타냅니다. 예를 들어, 글로벌 키를 조회하려는 경우 core.ignorecase
:
git config --global --get core.ignorecase
이 반환되면 다음 true
과 같이 설정하십시오.
git config --global core.ignorecase false
(글로벌을 변경할 수있는 적절한 권한이 있는지 확인하십시오.) 그리고 거기에 있습니다. 이제 Git 설치는 대문자를 무시하지 않고 변경으로 취급합니다.
제안으로, 다중 언어 프로젝트를 수행 중이고 모든 프로젝트가 Git에서 대소 문자를 구분하지 않는 것으로 생각되면 로컬 core.ignorecase
파일을 업데이트 하십시오.
답변
“.git”디렉토리를 연 다음 “config”파일을 편집 할 수 있습니다. “[core]”설정에서 “ignorecase = true”로 설정하면 완료됩니다.;)
답변
git mv
macOS에서 파일을 소문자로 벌크하려면 :
for f in *; do git mv "$f" "`echo $f | tr "[:upper:]" "[:lower:]"`"; done
폴더의 모든 파일을 소문자로 사용합니다.