나는 원하는 이름으로 새 디렉토리로 이름이 변경 될 디렉토리를 복사하는 작업을해야한다고 생각 이전 디렉토리를 삭제 하고 git add
, git commit
그리고 push
모든 것을. 그러나 이것이 최선의 방법입니까?
나는 원하는 이름으로 새 디렉토리로 이름이 변경 될 디렉토리를 복사하는 작업을해야한다고 생각 이전 디렉토리를 삭제 하고 git add
, git commit
그리고 push
모든 것을. 그러나 이것이 최선의 방법입니까?
답변:
기본 이름 변경 (또는 이동) :
git mv <old name> <new name>
대소 문자 구분 이름 바꾸기 (예 : 에서 casesensitive
로 CaseSensitive
- 당신은 두 단계를 사용해야합니다 :
git mv casesensitive tmp
git mv tmp CaseSensitive
커밋과 푸시는 git repo에서 디렉토리의 이름을 바꾸는 가장 간단한 방법입니다.
casesensitive
에 CaseSensitive
: 당신은이 방법을 수행 할 수 있습니다 git mv casesensitive Temp
다음과 git mv Temp CaseSensitive
git rm -rf --cached path/to/your/directories
다시 추가하고 커밋하는 것입니다.
git config core.ignorecase false
명령을 연속으로 실행 한 다음 실행해야했습니다. 두 번째 부분에서는 source is empty
오류가 발생했습니다.
이 오류가 표시되면 치명적 : 'foldername'이름 바꾸기 실패 : 잘못된 인수
이 시도:
git mv foldername tempname && git mv tempname folderName
git mv foldername tempname
및 git mv tempname folderName
Windows에서 작동합니다.
1. 폴더 이름을 oldfolder에서 newfolder로 변경하십시오.
git mv oldfolder newfolder
2. newfolder이 저장소에 이미 및 당신이 그것을 무시하고 사용하려는 경우 : - 힘
git mv -f oldfolder newfolder
git mv로 이름을 바꾼 후 인덱스에 변경 사항을 추가하고 커밋하는 것을 잊지 마십시오.
대소 문자를 구분하지 않는 파일 시스템에서 foldername을 folderName으로 이름 바꾸기
일반 mv 명령 (git mv 아님)을 사용한 간단한 이름 바꾸기는 git의 파일 변경으로 인식되지 않습니다. 다음 줄과 같이 'git mv'명령으로 시도하면
git mv foldername folderName
대소 문자를 구분하지 않는 파일 시스템을 사용하는 경우 (예 : Mac의 경우) 대소 문자를 구분하도록 구성하지 않은 경우 다음과 같은 오류 메시지가 나타납니다.
치명적 : 'foldername'이름 바꾸기 실패 : 잘못된 인수
그리고 그것을 작동시키기 위해 당신이 할 수있는 일이 있습니다 :-
git mv foldername tempname && git mv tempname folderName
이렇게하면 처음에 폴더 이름을 완전히 다른 폴더 이름으로 바꾸어 이름 바꾸기 프로세스를 분리합니다. 다른 폴더 이름으로 이름을 바꾼 후 폴더 이름을 새 folderName으로 바꿀 수 있습니다. 그 'git mv 's 후에 다시 변경 사항을 추가하고 커밋하는 것을 잊지 마십시오. 이것은 아마도 아름다운 기술은 아니지만 완벽하게 작동합니다. 파일 시스템은 여전히 소문자 변경을 인식하지 못하지만 git은 새로운 폴더 이름으로 이름을 바꿨 기 때문에 git은 이름을 바 꾸었습니다.
파일 시스템을 사용하여 디렉토리의 이름을 바꿀 수 있습니다. 그럼 당신은 할 수 git rm <old directory>
와 git add <new directory>
( 도움말 페이지 ). 그러면 커밋하고 푸시 할 수 있습니다.
Git은 내용이 동일하고 단지 이름 바꾸기 작업임을 감지하고 기록에 이름 바꾸기 항목으로 나타납니다. 커밋하기 전에이 경우인지 확인할 수 있습니다.git status
두 단계로 해결했습니다. mv 명령을 사용하여 폴더의 이름을 바꾸려면 권한이 필요합니다. 권한이 없으면 다음 단계를 수행하십시오. 대소 문자 구분을 대소 문자 구분으로 바꾸려고한다고 가정하십시오.
1 단계 : 폴더 이름을 대소 문자를 구분하여 탐색기에서 다른 이름으로 바꿉니다. 예를 들어, folder1에 대해 대소 문자 구분 이름 바꾸기가이 변경을 커밋합니다.
2 단계 : 새로 이름이 지정된이 폴더 (폴더 1)의 이름을 대소 문자 구분 이름 (Casesensitive)으로 바꿉니다. folder1의 이름을 대소 문자를 구분하십시오. 이 변경 사항을 적용하십시오.
단순히 폴더 이름을 바꾸십시오. git은 "content-tracker"이므로 SHA1 해시는 동일하고 git은 이름을 바꾼다는 것을 알고 있습니다. 변경되는 유일한 것은 트리 개체입니다.
rm <directory>
git add .
git commit