2016-09-06 3 views
-1

나는 포크 검토에서 기다리고있는 포크의 default 브랜치에서 일련의 커밋을 얻었고 업스트림에 합류했다. 이제 별도의 버그 수정을 작성해야하고 repo와 원격 사이의 원래 지점으로 돌아가고 싶습니다. 수동으로 변경 로그를 살펴보고 hg up을 리비전으로 볼 수는 있지만 불편합니다.Mercurial - 업스트림 커밋에서 새로운 브랜치

이 작업을 수행하는 명령이 있습니까? 업스트림에서 사용할 수있는 마지막 커밋에서 새 분기를 만들고 전환합니다.

내가이 명령을해야하지만 의욕 에 대한 https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/git-new-branch.html

+0

지점을 만들려면 특별한 조치를 취할 필요가 없습니다. 브랜치를 기반으로하고 싶은 개정판을 업데이트하고 커밋을 시작하십시오. ''hg 나가는''과''hg incoming ''이주는 것 이외의 '리모트'개념이 없습니다. 빨리 이동하려는 개정에 (로컬) 책갈피를 첨부하십시오. 북마크는 역사의 일부가되지 않는 편리한 일시적인 마커입니다. – planetmaker

+0

@planetmaker'just update'는 업데이트해야하는 개정 번호를 모르기 때문에이 경우 작동하지 않습니다. –

답변

1

hg update은 매우 강력하다, 난 당신이 연산자를 자세히 설명하고 당신이 원하는 버전을 지정하는 데 사용할 수있는 술어 REVSET 도움말 페이지로 보면 좋습니다.

예를 들어, hg update -r parents(first(outgoing(UPSTREAM)))은 아직 UPSTREAM에 푸시되지 않은 가장 오래된 변경 집합의 부모로 업데이트해야합니다. 이는 사용자가 요구하는 것으로 보입니다. 가장 오래된 푸시 된 변경 집합에 단일 부모가있는 경우 (즉, 병합 결과가 아닌 경우) 작동합니다.

부모가 두 명인 경우 hg update -r p1(first(outgoing(UPSTREAM))) 또는 hg update -r p2(first(outgoing(UPSTREAM)))을 대신 사용할 수 있지만 분기를 시작할 부모를 알아야합니다.

당신이 원하는 경우에 당신은 당신의 의욕 설정 파일에 다음을 넣으면 또한, 별칭을 만들 수 있습니다

[alias] 
newbranch = hg update -r parents(first(outgoing(UPSTREAM))) 

newbranch 부분은 명령이 원하는대로입니다.

+0

** 많은 이유에서 ** 방탄 ** revset 아닙니다. 나는 부모님 (처음 (나가는 (UPSTREAM))) –

+0

넵, 그게 더 나아 보인다 - 내 대답에 통합 할께 –

+0

'newbranch = hg update -r parents (first (outgoing()))' 나를. 감사. –