2014-10-29 3 views
0

일부 추가 패치가있는 hg 저장소의 git 포크를 유지 관리하고 있습니다. 이것이 의미하는 것은 hg 저장소를 복제 한 다음 these directions 다음에 저장소를 git 저장소로 푸시했음을 의미합니다.패치를 사용하여 Hg 저장소의 Git 포크 유지 보수

그런 다음 git 저장소를 복제하고 일부 커밋을 적용한 다음 커밋을 git 저장소에 푸시했습니다.

내 역사의 모습처럼 :

hg-head\  /git-head 
    A-B-C-F'-G' 

F'G' 내 패치입니다.

hg 개발자는 이제 hg repos에 일부 패치를 푸시하고 이러한 변경 사항을 포크에 통합하려고합니다. hg 기록을 손상시키지 않으려 고합니다. E는 새로운

hg-head\  /git-head 
    A-B-C-E-F'-G' 

가 HG에 커밋 : 즉, 내가 좋아하는 자식 내 마지막 역사를보고 싶다.

git 용어로 "rebase origin/master에 내 마스터 브랜치를 원합니다."라고 말합니다.

제 질문은 hg 및/또는 git에서 어떤 명령을 실행합니까?

답변

1
  • 로컬 HG-REPO에 힘내에서 (당신의 패치)를 당겨하지 않은 경우 당신이 망할 놈의에서 가져온 경우 "(익명 추가 머리를 얻을 수 있습니다
  • , 당신은 HG 측에서 아무 것도 할 수 없다 지점 ")를 업스트림 저장소에서 E를 가져온 후 로컬 저장소에 저장합니다. (가 "중재자"에 필요하지 않은 상태에서, 원하는 경우) 역사를 선형화하기 위해, 당신은 의욕에 같은 (이름으로) 명령을 사용합니다에서 : hg rebase

그냥주의 : 당신을 중급 HG 노드 대신에 Mercurial bridge in Git (Git의 일부)을 사용하여 Git의 업스트림 Mercurial 저장소에 직접 액세스하려고 시도하면

+0

방금 ​​"그냥 메모"를 따라 가며 효과가 있습니다 아주. –

+1

'git config --global remote-hg.hg-git-compat true' 그리고'git remote add 업스트림 'hg :: https : // ... "' –