2011-01-01 5 views
2

다음과 같은 상황을 상상해보십시오. Windows 7에서 TortioseHG를 통해 다른 bitbucket repo에서 리비전을 가져오고 있습니다.github에서 bitbucket까지

이제 두 번째 프로젝트가 Github 시스템으로 옮겨 졌으므로 더 이상 프로젝트를 가져올 수 없습니다.

그래서 내 질문은 다음과 같습니다. 어떻게하면 github에서 변경 사항을 가져오고이 repo에서 내 작업장에 Tortiose HG를 쉽게 가져올 수있는 bitbucket에서 새 저장소를 만들 수 있습니까?

Github 등을 사용하고 싶지 않으므로 제게 조언 해주세요. 제 질문에 도움이됩니다. 고맙습니다.

답변

1

이상적인 솔루션은 로컬의 Mercurial repo를 유지하고 기존의 bitbucket Mercurial 원격 저장소에 대한 로컬 repo로만 작업하는 것입니다.

플러그인 like Hg-Git을 사용하면 Mercurial에서 Git 서버 저장소를 푸시하고 끌어와 GitHub 저장소에서 로컬 Mercurial 저장소로 가져올 수 있습니다.

그 지역 (의욕)의 repo에서

alt text

, 당신은 다음의 bitbucket 원격 REPO에 평소와 같이 작업 할 수 있습니다.


영업 이익은 추가 : 모두의 repos 별도로 개발 된 경우 감각을하게

It didn't work for me so i tried to transfer git repo to hg repo and from this repo pull to my working repo with changes - but it says that: abort: repository is unrelated - but I merged a lot from it. Any help here?

는, 당신은/밀어 2 (수은)의 repos 또 다른에 하나를 당겨 수 없습니다.
페이지 하단 "Understanding Mercurial"에서 확인되며 블로그 게시물에 "What Mercurial Can't Do: Subtree Repos"이라고 자세히 설명되어 있습니다.

더 실용적인 솔루션은 nested repository로 선언하여 두 가지의 repos 하나 개 추가 저장소 (는 "부모를")하게하는 것입니다.
두 repos를 독립적으로 유지하여 두 번째 mercurial repo에서 GitHub repo로 다시 밀어 넣을 수 있습니다.

GitHub로 돌아갈 필요가 없지만 공통 파일을 병합하는 하나의 저장소를 실제로 갖고 싶다면 "Merge tip from an unrelated repository with Mercurial"을 볼 수 있지만 훨씬 복잡합니다.

차라리 것 :

  • 모두의 repos는 첫 번째에서 두 번째 하나에 병합하는 데 필요한 일반적인 파일을 삭제
  • 를 분리 보관하십시오.
  • 두 번째 파일에 공통 파일을보고하고 병합하십시오.
+0

나는 거기에 설치 지침을 이해하지 못한다 ... – Byakugan

+0

Windows 7이 플러그인을 설치하는 방법 수은? – Byakugan

+0

@Byakugan :'easy_install hg-git'을 시도하기 전에 먼저 python setuptool (http://packages.python.org/distribute/easy_install.html)이 필요합니다. (이는 또한 Python이 먼저 설치되어 있음을 의미합니다.) – VonC

관련 문제