사용법 git 리포지토리를 두 번째 컴퓨터로 이동?




git remote (4)

간단한 로컬 git repo 프로젝트가 있고이 프로젝트 (폴더 등)를 다른 컴퓨터로 옮기고 거기에서 지금부터 작업하고 싶습니다. 나는 낡은 기계에 아무것도 남기고 싶지 않다. (물론 나의 다른 자식 프로젝트를 제외하고). 마치 내가 새로운 기계에서 일 해왔다면 좋겠어요.

모든 파일을 해당 컴퓨터로 옮기거나 키에 문제가 있습니까? 두 대의 컴퓨터에서 동일한 키를 사용해야합니까? 단순히 모든 폴더를 이동할 수 없으면 어떻게해야합니까? 이 작업은 복잡해 보이고 워크 플로를 변경하고 싶지 않기 때문에 서버를 사용하는 법을 배우고 설정하는 번거 로움을 피하고 싶습니다.


Answer #1

예, 데이터를 다른 컴퓨터에 복사하는 것으로 충분합니다. 자식 복제본을 사용하는 것은 거의 같은 일이지만 복제하려는 컴퓨터를 원격 원본으로 설정합니다. 이는 원하지 않을 수도 있습니다.


Answer #2

복사하는 대신 저장소를 clone 하는 것이 좋습니다. 복제는 당신이 성취하고자하는 바른 패러다임입니다. 복제 된 프로젝트에는 모든 git 메타 데이터와 정보도 포함됩니다.

대상 컴퓨터에서

$ git clone git://your-repo/proj proj

git:// 를 사용하는 대신 ssh:// 또는 http:// 프로토콜을 사용하여 저장소에 액세스 할 수 있습니다. 자세한 정보는 git 매뉴얼을 참조하십시오.


Answer #3

모든 복제본은 리포 자체이기 때문에 두 번째 컴퓨터에서 첫 번째 복제본을 복제하면됩니다.


Answer #4

귀하의 경우, 가장 좋은 방법은 새 컴퓨터에 폴더 (복사, scp, cp, robocopy - 중 더 이상)를 복사하고 이전 폴더를 삭제하는 것입니다.

나는 복제가 당신이하고있는 것에 대한 패러다임이라는 @ 파블로 산타 크루즈에 완전히 동의하지 않습니다. 전혀 그렇지 않다. Repo를 새 컴퓨터로 옮기고 있습니다.

왜 나는이 목적을 위해 복제품을 좋아하지 않습니다 :

  • 복제 된 저장소의 각 분기에 대해 원격 추적 분기를 작성합니다 . 너는 움직이고 있고, 낡은 레포는 없어져.
  • 모든 원격 분기 및 기타 참조는 완전히 무시됩니다.
  • 당신은 당신이 가지고있는 경우에 당신의 갈고리를 얻지 않으며 당신은 당신이 그 (것)들이 있었다는 것을 잊을지도 모른다!
  • git reflog 또는 다른 방법을 사용하여 "손실 된"커밋 등을 얻을 수 없습니다. 거대한 문제는 아닐 수 있습니다. 특히 서버가 서버 역할을하지만 인식해야 할 부분이있는 경우에는 더욱 그렇습니다.

git repo를 백업하는 방법을 찾으면 git clone이 맨 위로 대답하지 않게됩니다. 그래서 그것은 레포를 움직이는데 사용해서는 안됩니다! 또한 git clone 에는 --mirror 옵션이 있기 때문에 git clone 은 적절한 대답이 될 수 없다고 생각합니다. repo를 보존 합니다. 즉, git clone repo가 git clone --mirror repo (맨손으로 차이점은 대부분 제가 위에서 언급 한 것들입니다). 복사 한 Repo와 함께 얻은 것을 알기 때문에 사본을 만들 것입니다 - 동일한 Repo!

자식 복제본을 고려해야하는 경우 :

  1. 복제하는 동안 자식 최적화가 더 빠르기 때문에 빠릅니다.
  2. 새 컴퓨터에 다른 자식 버전이있을 수 있으며 복사본으로 인해 다른 버전에서는 repo를 사용할 수 없게 될 수 있습니다 (요즘에는별로 일반적이지 않음). 그러나 실제로 이것은 복사를위한 또 다른 전문가 일 수 있습니다. 이것은 새로운 컴퓨터가 다른 자식 버전을 가지고 있다는 것을 알려줄 것이기 때문입니다.






git