답변:
전체 작업 디렉토리 내용 (숨겨진 .git
디렉토리 포함)을 복사하면 됩니다. 이것은 전체 작업 디렉토리를 새 디렉토리로 옮기고 GitHub의 원격 저장소에는 영향을 미치지 않습니다.
Windows 용 GitHub를 사용하는 경우 위와 같은 방법으로 저장소를 이동할 수 있습니다. 그러나 애플리케이션에서 저장소를 클릭하면 해당 저장소를 찾을 수 없습니다. 이 문제를 해결하려면!로 파란색 원을 클릭하고 찾기를 선택한 다음 새 디렉토리를 찾으십시오.
나는 그 질문에 대해 확신하지 못하므로 다음 두 가지 답변이 있습니다.
저장소를 이동하려면 다음을 수행하십시오.
.git
디렉토리 와 함께 전체 저장소를 복사하기 만하면 됩니다.
.git
구조 에는 절대 경로가 없으며 이동을 방해하는 요소가 없으므로 이동 후 수행 할 작업이 없습니다. github에 대한 모든 링크 (참조 .git/config
)는 이전과 같이 작동합니다.
저장소 내에서 파일을 이동하려면 다음을 수행하십시오.
파일을 옮기기 만하면됩니다. 그런 다음에 나열된 변경 사항을 추가하십시오 git status
. 다음 commit
은 필요한 일을 할 것입니다. 파일이 복제되지 않는다는 것을 알게되어 기쁩니다 .git에서 파일을 이동하는 것은 거의 비용이 들지 않습니다.
.git
디렉토리에 있습니다.
을 사용하는 경우 GitHub Desktop
다음 단계를 수행하십시오.
GitHub Desktop
현재 디렉토리 경로에 열린 파일이있는 다른 모든 응용 프로그램을 닫습니다 .GitHub Desktop
파란색 (!) "리포지토리를 찾을 수 없음"아이콘을 열고 클릭하십시오. 그런 다음 대화 상자가 열리고 경로를 새 위치로 지정할 수있는 팝업이 열리는 "찾기 ..."단추가 표시됩니다.질문은 Git for Windows와 관련이 있지만 Visual Studio Tools For Git (VS 2012의 확장, VS 2013의 기본 지원)을 검색 할 때도 최고의 결과 인 것 같습니다.
위의 솔루션을 가이드로 사용하여 Visual Studio Git Tools를 사용하면 리포지토리 (또는 모든 리포지토리의 전체 디렉터리 구조)를 매우 쉽게 로컬로 이동할 수 있습니다.
1) Visual Studio를 닫습니다. 2) Repo 폴더를 새 위치로 이동하십시오. 3) Visual Studio를 엽니 다. 팀 탐색기를 엽니 다. "연결"보기 (위의 플러그 아이콘)로 전환하십시오. 3a) Repos에 여전히 기존 경로가 표시되면 새로 고침을 클릭하여 업데이트를 강제 실행하십시오. 4) 로컬로 이동 한 Repos는 더 이상 " Local Git Repositories "에 표시되지 않아야합니다 . 5) 추가 (새 또는 복제 아님 )를 클릭하고 추가 할 repo 폴더를 선택하십시오.
5 단계에서 검색 경로 만 제공하면 자동으로 모든 하위 폴더가 포함됩니다. 단일 루트 아래에 여러 개의 저장소가 구성되어 있으면 (동일한 상위 폴더를 갖는 독립적 인 저장소) 부모를 선택하면 그 아래에있는 모든 저장소가 포함됩니다.
예 : E : \ Repos \ RepoA E : \ Repos \ RepoB E : \ Repos \ RepoC
Visual Studio Team Explorer에서 [추가]> "E : \ Repos \"> [추가]는 세 개 모두를 로컬 리포지토리로 반환합니다.
이전 답변은 모두 디렉토리를 이동할 수 있으며 .git 구조에는 절대 경로가 없다고 말하는 것처럼 보입니다. Cygwin에서 git을 사용할 때 이것이 사실이 아니라는 것을 알았습니다.
git repo를 옮길 때 (실제로 백업에서 복원했지만 드라이브 구조가 새 시스템에서 변경되면 다른 드라이브로 복원했습니다). 다음과 같은 오류 메시지가 나타납니다.
fatal: Invalid path '<part_of_the_original_repo_path>': No such file or directory
grep을 사용하여 [core] 섹션의 .git / config 파일에서 git repo의 절대 경로를 보유하는 작업 트리 변수라는 것을 알았습니다. 이것을 변경하면 문제가 해결되었습니다.
Windows 용 Github Desktop을 사용하고 리포지토리의 위치를 옮기고 싶었습니다. 디렉토리를 이동하고 소프트웨어에서 새 위치를 선택해도 문제 없습니다. 그러나 잘못된 디렉터리를 설정하면 치명적인 오류가 발생하고 두 번째로 좋은 디렉터리로 재배치 할 수 없습니다. 그래서 그것을 고치기 위해. 잘못된 디렉토리에 프로젝트 파일을 복사하고 Github Desktop에서 해당 파일을 재구성 한 후 프로젝트를 다른 폴더로 다시 이동하고 소프트웨어에서 재배치 할 수 있습니다. 이를 위해 Github Desktop을 닫을 필요가 없으며 라이브 폴더를 확인합니다.
이것을 희망하면 누군가를 도울 것입니다.
이것은 나를 위해 작동하지 않았습니다. 예를 들어 c : \ project1 \에서 c : \ repo \ project1 \로 리포지를 이동했으며 Git for windows에는 변경 사항이 표시되지 않습니다.
하위 모듈 중 하나가 "git 저장소가 아니며"이전 경로를 표시하기 때문에 자식 상태가 오류를 표시합니다. 예 (IP를 보호하기 위해 이름이 변경됨)
치명적 : 자식 저장소 아님 : C : /project1/.git/modules/subproject/subproject2 치명적 : 하위 모듈 하위 프로젝트에서 'git status --porcelain'실패
하위 모듈의 .git 파일을 하위 모듈의 리포지토리에 대한 올바른 상대 경로를 가리 키도록 수동으로 편집해야했습니다 (주 리포지토리의 .git / modules 디렉토리에 있음)
Git 기반 접근 방식은 로컬 복사를 사용 cd
하거나 복사하여 붙여 넣은 다음 로컬에서 원격 저장소로 변경 사항을 적용하는 것입니다.
로컬 리포지토리의 상태를 확인하려고하면 실제로 재배치 된 파일 인 "추적되지 않은 변경 사항"이 표시 될 수 있습니다. 이러한 변경 사항을 강제로 적용하려면 다음을 사용하여 이러한 파일 / 디렉토리를 준비해야합니다.
$ git add -A
#And commiting them
$ git commit -m "Relocating image demo files"
#And finally, push
$ git push -u local_repo -f HEAD:master
도움이 되길 바랍니다.