Git에서 대소 문자를 구분하는 파일 이름 변경 사항을 어떻게 커밋합니까? 나는에 의해 몇 개의 파일

나는에 의해 몇 개의 파일 이름을 변경 한에서와 같이 첫 글자, 드 활용 Name.jpg하는 방법에 대해 name.jpg. 힘내는이 변경 사항을 인식하지 못하고 파일을 삭제하고 다시 업로드해야했습니다. 파일 이름의 변경 사항을 확인할 때 Git이 대소 문자를 구분할 수있는 방법이 있습니까? 파일 자체는 변경하지 않았습니다.



답변

git mv 사용할 수 있습니다 :

git mv -f OldFileNameCase newfilenamecase

답변

Git에는 대 / 소문자를 구분할지 여부를 알려주는 구성 설정이 있습니다 core.ignorecase. Git이 대소 문자를 구분하도록하려면이 설정을 false다음과 같이 설정하십시오 .

git config core.ignorecase false

선적 서류 비치

로부터 git config문서 :

core.ignorecase

true 인 경우이 옵션을 사용하면 다양한 해결 방법을 통해 git이 FAT와 같이 대소 문자를 구분하지 않는 파일 시스템에서 더 잘 작동 할 수 있습니다. 예를 들어, 디렉토리 목록에서 makefilegit이 예상하는 시간을 찾으면 Makefilegit은 파일이 실제로 같은 파일이라고 가정하고 계속로 기억합니다 Makefile.

git-clone (1) 또는 git-init (1)core.ignorecase리포지토리가 생성 될 때 적절한 경우 조사하고 true를 설정 한다는 점을 제외하고 기본값은 false 입니다.

대소 문자를 구분하지 않는 파일 시스템

내가 알고있는 대소 문자를 구분하지 않는 파일 시스템이있는 가장 널리 사용되는 두 가지 운영 체제는

  • 윈도우
  • OS X

답변

SourceTree를 사용하여 UI 에서이 모든 것을 할 수있었습니다.

  1. 이름 바꾸기 FILE.extwhatever.ext
  2. 스테이지 해당 파일을
  3. 이제 이름 whatever.extfile.ext
  4. 스테이지 다시 파일을

약간 지루하지만 몇 개의 파일로만 수행 해야하는 경우 매우 빠릅니다.


답변

이것이 내가 OS X에서 한 일입니다.

git mv File file.tmp
git mv file.tmp file

그렇지 않으면 “파일이 있습니다”오류가 발생하여 두 단계가 수행됩니다. 아마도 추가 --cached또는 이와 같은 방법으로 한 단계에서 수행 할 수 있습니다 .


답변

Git의 대 / 소문자 구분 을 일시적으로 변경하는 것이 유용한 경우가 있습니다.

방법 # 1-단일 명령에 대한 대소 문자 구분 변경 :

git -c core.ignorecase=true checkout mybranch단일 checkout명령에 대해 대소 문자 구분을 해제 합니다. 또는보다 일반적으로 : . (의견에 이것을 제안한 VonC의 공로)git -c core.ignorecase= <<true or false>> <<command>>

방법 # 2-여러 명령의 대소 문자 구분 변경 :

더 오래 설정을 변경하려면 (예 : 다시 변경하기 전에 여러 명령을 실행해야하는 경우) :

  1. git config core.ignorecase(예 : 현재 설정을 반환합니다 false).
  2. git config core.ignorecase <<true or false>> -원하는 새 설정을 지정하십시오.
  3. … 여러 개의 다른 명령을 실행하십시오 …
  4. git config core.ignorecase <<false or true>> -구성 값을 이전 설정으로 다시 설정하십시오.

답변

OSX에서이 문제를 피하고 대소 문자를 구분하지 않는 파일 시스템 개발과 관련된 다른 문제를 피하기 위해 디스크 유틸리티를 사용하여 대소 문자를 구분하는 가상 드라이브 / 디스크 이미지 를 만들 수 있습니다 .

디스크 유틸리티를 실행하고 새 디스크 이미지를 작성하고 다음 설정을 사용하십시오 (또는 원하는대로 변경하지만 대소 문자를 구분하십시오).

git에게 대소 문자를 구분하는 FS에 있는지 확인하십시오.

git config core.ignorecase false

답변

다른 답변에서 다음 솔루션을 시도했지만 작동하지 않았습니다.

리포지토리가 원격으로 호스팅되는 경우 (GitHub, GitLab, BitBucket) 원본에서 파일 이름을 바꾸고 (GitHub.com) 하향식으로 파일 이름을 바꿀 수 있습니다.

아래의 지침은 GitHub와 관련이 있지만, 일반적인 지침은 원격 리포지토리 호스팅 플랫폼에 적용해야합니다. GitHub가 브라우저 내에서 편집 가능 (코드, 텍스트 등) 또는 편집 불가능 (이미지, 이진 등)으로 간주하는 파일 형식인지 여부에 관계없이 이름을 바꾸려는 파일 형식을 명심하십시오.

  1. GitHub.com 방문
  2. GitHub.com의 저장소로 이동하여 작업중인 지점을 선택하십시오.
  3. 사이트의 파일 탐색 도구를 사용하여 이름을 바꾸려는 파일로 이동하십시오.
  4. GitHub에서 브라우저 내에서 파일을 편집 할 수 있습니까?
    • a) 편집 가능
      1. “이 파일 편집”아이콘을 클릭하십시오 (연필 모양).
      2. 파일 이름 텍스트 입력에서 파일 이름 변경
    • b) 편집 불가능
      1. 새 탭에서 “다운로드”버튼을 열고 파일을 컴퓨터에 저장하십시오
      2. 다운로드 한 파일 이름 바꾸기
      3. GitHub.com의 이전 탭에서 “이 파일 삭제”아이콘을 클릭하십시오 (휴지통처럼 보입니다)
      4. branchname지점에 직접 커밋 “라디오 버튼이 선택되어 있는지 확인하고 ” 변경 사항 커밋”버튼을 클릭하십시오.
      5. GitHub.com의 동일한 디렉토리에서 “파일 업로드”버튼을 클릭하십시오
      6. 컴퓨터에서 이름이 바뀐 파일을 업로드하십시오.
  5. branchname지점에 직접 커밋 “라디오 버튼이 선택되어 있는지 확인하고 ” 변경 사항 커밋”버튼을 클릭하십시오.
  6. 현지에서 지점 체크 아웃 / 페치 / 풀
  7. 끝난