code

Git 저장소 디렉터리 위치를 변경합니다.

starcafe 2023. 5. 28. 20:56
반응형

Git 저장소 디렉터리 위치를 변경합니다.

의 경우 저장소가 : Windows( Git/Github의 경우:C:\dir1\dir2을 repo로 ?C:\dir1저는 분명히 물리적으로 파일을 복사하고 붙여넣을 수 있습니다. 하지만 Git 쪽에서 제가 해야 할 일은 무엇입니까?

GitHub에 대한 평판이 있고 Windows용 GitBash 및 GitHub을 사용합니다.

내용 전체작숨내을용리포디함토렉( 김업만됩니다하면기하복사숨)를 복사하기만 ..git디렉토리)를 선택합니다.이렇게 하면 전체 작업 디렉터리가 새 디렉터리로 이동하며 GitHub의 원격 저장소에는 영향을 주지 않습니다.

GitHub for Windows를 사용하는 경우 위와 같은 방법으로 저장소를 이동할 수 있습니다.그러나 응용프로그램에서 리포지토리를 클릭하면 리포지토리를 찾을 수 없습니다.이 문제를 해결하려면 파란색 원을 클릭하고 찾기를 선택한 다음 새 디렉터리를 찾습니다.

질문에 대한 확신이 없기 때문에 다음과 같은 두 가지 대답이 있습니다.

리포지토리를 이동하려는 경우:

전체 저장소를 복사하기만 하면 됩니다..git디렉토리)를 선택합니다.

절경로없다습에는 ..git구조와 이동을 방해하는 것이 없으므로 이동 후에는 할 일이 없습니다.Github에 대한 모든 링크( 참조).git/config는 작동합니다.)는 이전과 같이 작동합니다.

저장소 내에서 파일을 이동하려는 경우:

파일을 이동하기만 하면 됩니다.그런 다음 에 나열된 변경 사항을 추가합니다.git status에.다음.commit필요한 일을 할 것입니다.파일이 중복되지 않는다는 것을 알게 되면 기쁠 것입니다. 파일을 이동하는 비용이 거의 들지 않습니다.

를 사용하는 경우 다음 단계를 수행합니다.

  1. 닫습니다.GitHub Desktop파일이 열려 있는 다른 모든 응용 프로그램을 현재 디렉터리 경로로 이동합니다.
  2. 위에서 언급한 대로 전체 디렉토리를 새 디렉토리 위치로 이동합니다.
  3. 을 엽니다.GitHub Desktop파란색(!) "저장소를 찾을 수 없습니다" 아이콘을 클릭합니다.그러면 대화 상자가 열리고 "위치 찾기...위치로 할 수 새 위치로 경로를 지정할 수 있는 팝업이 열립니다.

앞의 답변들은 모두 디렉토리를 이동하기만 하면 되며 .git 구조에는 절대 경로가 없습니다.저는 Cygwin의 git을 사용했을 때 이것이 사실이 아니라는 것을 알았습니다.

Gitrepo를 이동했을 때(사실 백업에서 복원했지만 새 시스템에서 드라이브 구조가 변경됨에 따라 다른 드라이브로 복원했습니다).다음과 같은 오류 메시지가 표시됩니다.

fatal: Invalid path '<part_of_the_original_repo_path>': No such file or directory

grep을 사용하여 [core] 섹션의 .git/config 파일에 내 gitrepo의 절대 경로를 유지하는 작업 트리 변수가 있음을 확인했습니다.이것을 바꾼 것이 저에게 문제를 해결해 주었습니다.

Windows용 Git와 관련된 질문이지만, Visual Studio Tools For Git(VS 2012의 확장 기능, VS 2013의 기본 지원)을 검색할 때도 이 질문이 가장 중요한 결과인 것 같습니다.

위의 솔루션을 가이드로 사용하여 Visual Studio Git Tools를 사용하면 리포지토리(또는 모든 리포지토리에 대한 전체 디렉터리 구조)를 로컬로 매우 쉽게 이동할 수 있습니다.

Visual Studio를 닫습니다.Repo 폴더를 새 위치로 이동합니다.Visual Studio를 엽니다.팀 탐색기를 엽니다."연결" 보기(맨 위의 플러그 아이콘)로 전환합니다.3a) Repos가 여전히 이전 경로를 표시하면 Refresh(새로 고침)를 클릭하여 강제로 업데이트합니다.로컬로 이동한 리포지토리는 더 이상 "로컬 Git 리포지토리"에 표시되지 않아야 합니다.추가(새로 생성되거나 복제되지 않음)를 클릭하고 추가할 repo 폴더를 선택합니다.

5단계에서는 검색 경로를 제공하기만 하면 검색에 모든 하위 폴더가 자동으로 포함됩니다.단일 루트 아래에 여러 개의 리포지토리가 구성되어 있는 경우(부모 폴더가 동일한 독립 리포지토리) 상위 항목을 선택하면 그 아래에 있는 모든 리포지토리가 포함됩니다.

예:E:\Repos\RepoAE:\Repos\RepoBE:\Repos\RepoC

Visual Studio Team Explorer [Add] > "E:\Repos\" > [Add]에서 이 세 가지를 모두 로컬 리포지토리로 반환합니다.

Visual Studio git 플러그인을 사용하고 있으며 이동하려는 IIS에서 실행 중인 웹 사이트가 있습니다.나에게 효과가 있었던 간단한 방법:

  1. Visual Studio를 닫습니다.

  2. 코드 이동(git 폴더 등 포함)

  3. 새 위치에서 솔루션 파일 클릭

이렇게 하면 이동된 기존 로컬 Git 파일을 사용하여 새 위치에 대한 매핑이 새로 고쳐집니다.Visual Studio로 돌아오면 팀 탐색기 창에 새 위치의 저장소가 표시됩니다.

Windows용 Github Desktop을 사용하고 있는데 저장소의 위치를 이동하려고 했습니다.디렉터리를 이동하고 소프트웨어에서 새 위치를 선택하면 문제 없습니다.그러나 잘못된 디렉토리를 설정하면 치명적인 오류가 발생하고 올바른 디렉토리로 이동할 두 번째 기회가 없습니다.그래서 그것을 고치기 위해.잘못된 디렉터리에 프로젝트 파일을 복사하고 Github Desktop에서 재구성한 다음 다른 폴더로 프로젝트를 다시 이동하고 소프트웨어에서 재배치할 수 있습니다.이를 위해 Github Desktop을 닫을 필요가 없으며, 실시간으로 폴더를 확인합니다.

이것이 누군가에게 도움이 되기를 바랍니다.

이것은 저에게 효과가 없었습니다.(예:) c:\project1\에서 c:\repo\project1\로 repo를 이동했는데 Windows용 Git에 변경 사항이 표시되지 않습니다.

git 상태는 하위 모듈 중 하나가 "git 저장소가 아님"으로 인해 오류를 표시하고 이전 경로(예: IP를 보호하기 위해 이름이 변경됨)를 표시합니다.

fatal: Not git 저장소: C:/project1/.git/modules/subproject/subproject2 fatal: 'git status --porcelain'이 하위 모듈 하위 프로젝트에서 실패했습니다.

서브모듈의 repo에 대한 올바른 상대 경로를 가리키기 위해 서브모듈의 .git 파일을 수동으로 편집해야 했습니다(메인 repo의 .git/modules 디렉토리).

향후 보고서:2018년 4월.

다른 로컬 폴더에 있던 Mac과 Windows의 로컬 저장소를 정상화하고 싶었습니다.

Windows 10 클라이언트는 "Can't Find" > "Locate" 루틴을 지루하지만 나쁘지 않은 작업으로 처리하도록 했습니다.향후 사용을 위해 옵션의 로컬 "복제 경로"도 업데이트해야 합니다.

Mac 폴더를 통합했을 때 Github 클라이언트가 다시 찾아냈습니다. 아무것도 할 필요가 없었습니다!

새 대상에서 코드를 이미 이동/수정했지만 동일한 Git repo를 계속 사용하려면...

Windows에서는 숨겨진 파일을 복사하여 붙여넣을 수 있습니다..git폴더를 이전 위치에서 새 위치로 이동합니다.

그런 다음 평소대로 깃을 사용합니다.

좀 더 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

도움이 되길 바랍니다.

-먼저 gitrepo $ls -ls -ls -al이 포함된 현재 폴더의 모든 디렉토리를 확인합니다.

-이 폴더 식별

**.git**

-이 명령을 사용하여 필요한 위치로 폴더를 이동합니다.

mv.git 당신이 여기서 원하는 디렉토리.

참고: >디렉토리는 git history에도 영향을 주지 않습니다. 원격 연결 >이동할 디렉토리의 트리(경로)를 고려합니다.

로컬 리포지토리를 다른 원격 리포지토리에 연결

1 - 원격 리포지토리와의 연결을 모두 삭제합니다.프로젝트 폴더 내부:

  • git rm .git 저장소에서 (로컬 저장소에서 데이터 제거)
  • git status(어떤 것과도 연결되어 있지 않다고 말해야겠습니다)

2 - 새 원격 리포지토리에 연결

  • git init로컬 리포지토리를 시작하려면 다음과 같이 하십시오.
  • git remote add origin urlrepository.git원격 리포지토리와 연결하려면 다음과 같이 하십시오.
  • git remote -v 저장소에 되어 있는지 하기 위해 .

3 - 로컬 리포지토리에 변경 사항을 추가하고 푸시

  • git pull또는git pull origin master --allow-unrelated-histories로컬 레포와 원격 레포 모두에서 git 내역이 다를 경우.
  • git add.
  • git commit -m" Message "
  • git push -u origin master

Visual Studio를 사용하는 경우 팀 탐색기 > 연결 탭 > 로컬 Git 저장소에 있는 추가를 사용하여 기존 로컬 저장소를 사용 가능한 저장소로 가져옵니다.야단법석 떨 필요 없어요.

언급URL : https://stackoverflow.com/questions/11384928/change-git-repository-directory-location

반응형