이것은 내 Git 저장소입니다.
https://github.com/benqzq/ulcwe
이라는 디렉터리가 있는데 local
해당 이름을 다른 이름으로 변경하고 싶습니다(예: from local
에서 xyz
).
GitHub GUI를 통해 수동으로 변경하는 것은 각 파일의 디렉터리 이름을 개별적으로 변경해야 하기 때문에 악몽입니다(믿거나 말거나, GitHub에는 아직 "디렉터리 이름 바꾸기" 기능이 포함되어 있지 않습니다).
Git을 설치한 후 다음 명령을 시도했습니다.
git remote https://github.com/benqzq/ulcwe && git mv local xyz && exit
GitHub 비밀번호를 묻는 메시지는 받지 못했지만 다음 오류가 표시되었습니다.
fatal: Not a git repository (or any parent up to mount point /mnt/c)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Git의 요점은 프로젝트를 다운로드하고, 변경하고, 테스트한 다음 호스팅 공급자(이 경우 GitHub)에 푸시하는 것이라는 것을 알고 있지만, 단순히 디렉토리 변경인 경우에는 직접 수행하고 싶습니다. Git을 사용하는 것도 가능한가요?
다른 프로그램을 사용해야 하나요?
답변1
치명적인 오류 메시지는 git 저장소의 복제본이 아닌 위치에서 작업하고 있음을 나타냅니다. 먼저 git 저장소를 복제해 보겠습니다.
git clone https://github.com/benqzq/ulcwe.git
그런 다음 다음을 입력하십시오.
cd ulcwe
디렉토리 이름을 바꾸십시오.
git mv local xyz
변경 사항을 공유 가능하게 만들려면 커밋해야 합니다.
git commit -m "Rename local to xyz"
이제 원격 Git 저장소에 푸시할 수 있습니다.
git push
GitHub 인터페이스에서 변경 사항을 확인할 수 있습니다.
답변2
아니요, git의 구조상 직접적으로 이를 수행하는 것은 불가능합니다.
git의 작동 방식은 각 위치에 전체 저장소(모든 기록 포함)의 복사본을 저장하는 것입니다.
Github, Bitbucket 또는 기타 호스팅 제공업체는 본질적으로 대부분의 워크플로에서 정보의 중심 소스로 간주되는 멋진 웹 인터페이스가 포함된 Git 저장소의 또 다른 복사본일 뿐이지만 git 유틸리티는 이를 알지 못합니다.
변경 사항은 커밋으로 추적됩니다. direct operation
당신이 말하는 것은 커밋을 만들지 않고 폴더 이름을 변경하는 방법인 것 같습니다 . 기록을 다시 작성하여 이를 달성하는 것이 가능하지만 특히 여러 사람/기계에 git 저장소의 복사본이 있는 경우 불일치가 발생할 수 있으므로 권장하지 않습니다.
Git 저장소에서 폴더 이름을 바꾸는 가장 쉬운 방법은 로컬로 복제하는 것입니다.
git clone [url]
cd [git-folder]
리포지토리의 로컬 복사본이 이미 있는 경우 이를 가져와서 원격 리포지토리가 최신 상태인지 확인하세요.
git pull
로컬에서 필요한 사항을 변경하세요.
git mv local xyz
github은 이를 스테이징 영역에 자동으로 추가해야 합니다. 그런 다음 이러한 변경 사항을 커밋하고 푸시해야 합니다.
git commit -m 'Renamed local to xyz'
git push
이렇게 하면 변경 사항이 로컬 저장소에 커밋된 다음 해당 변경 사항이 저장소의 원격 복사본(이 경우 Github)에 푸시됩니다.
답변3
GitHub API를 사용하면 저장소를 복제하지 않고 디렉터리 이름을 바꿀 수 있습니다. 나는 어떤 구현도 모른다.