2012-12-31 3 views
2

다음과 같은 문제가 있습니다. 나는 원래 hg-git을 사용하여 github에서 복제 한 repo를 가지고 있지만, 이후 나는 수은으로 개발하고 있습니다. 원래 개발자도 repo를 계속 업데이트하므로 머리가 여러 개인 경우 TortoiseHg를 사용하여 원하는 내용을 병합합니다. 실제로 잘 작동합니다 (hg-git은 여기에 차이가 없음). 그러나 나는 다음과 같은 문제가있다 : 이제는 BitBucket에 내 버전을 밀어 넣었고 세 가지 가지가있다.BitBucket의 지점 및 관리 방법

3 default

나는 이것과 완전히 혼란 스러워요. 자식의 분기가 Hg의 책갈피가 아니어야합니까? 그렇다면 BitBucket이 북마크가 아닌 분기를 지원하는 이유는 무엇입니까? 나는 실제로 Hg에있는 지점을 얻지 못하고 왜 3을 가지고 있는데, 실제로는 hg branch이 하나만 나열하면 default? 또는 실제로 지점이 아니라 북마크 일 뿐이며, BitBucket이 git 사용자를 혼동하지 않도록 이름을지었습니다. 하지만 이것은 Hg repo (초기에 만들 때 Hg로 설정)이며 git을 사용하지 않습니다! 그래서의 Bitbucket 분기를 호출되어 무엇을 실제로 머리

235:03d08bcf3144 
233:d7fbd581b9e1 
227:abda0dc38b93 

입니다 : 내가 hg heads -q을하려고하면

나는 똑같은 결과를 얻을? 그래서, 어떻게 내가 Git에서 브랜치, default, forked-from 등으로 이름을 붙일 수 있을까요?

내가 생각한 한 가지 생각은 각 머리글에 북마크를 만드는 것이 었습니다. 나는 그들 각각을 BitBucket에 push -B하는 방법을 알아 냈습니다. 그것을 이해하기 시작 그래서 지금

6 branch

,하지만 나는 3 기본값으로 무엇을 할 수 : 지금은 다음과 같습니다? 왜 그들은 그곳에 있으며 실제로는 무엇입니까? Hg의 브랜치, 헤드 또는 책갈피?

왜 BitBucket 설정에 하나만 있습니까? 당신이 "기본"내이 지점을 제거하려면 익명 가지

-

1 in settings

답변

1

당신은 하나의 이름 지점 "기본"세 머리와 가 가지있는이 세 가지 머리를 가지고 BitBucket으로 푸시되기 전에 로컬 저장소에서 머리를 합친 것입니다 (두 개의 헤드 - 자신의 라인과 업스트림에서 뽑아 냈습니다 : BitBucket으로 푸시되기 전에 저는 역사가 없으며 세 번째를 얻지 못했습니다)

+0

세 번째였다. 내 문제는 분기를 위해 명명 된 분기를 사용하지 않고 단지 책갈피를 사용하고 싶다는 것이다. 한편 다음과 같은 방법으로 해결했습니다. 1. 가장 중요한 것은 내 문제는 Mercurial이 모든 ** 지점을 기본적으로 푸시한다는 것입니다. 나는'push -rev .' 또는 TortoiseHg의'defaultpush = revision'으로 수정했습니다. 2. 실제 repo를 수정하기 위해 머리글을'--close-branch'로 닫고 bitbucket과'hg strip'-ed 로컬로 푸시했다. 3. 이제 단일 분기 푸시가 고정되었다. 길의 bitbucket UI가 이것을 처리하는 것은 여전히 ​​매우 혼란 스럽습니다. – zsero

+0

요점은 이들이 적절한 (익명) 브랜치이며 bitbucket으로 푸시하기 전에 병합해서는 안됩니다. bitbucket에서의 북마크 처리는 완벽하지 않습니다 (내 대답 참조). – JonnyJD

-1

아마도 이미 A Guide to Branching in Mercurial을 읽었을 것입니다. 그것은 다양한 종류의 수은 가지에 대한 좋은 개요입니다.

그래서 자식 분기는 일반적으로 hg 책갈피로 변환됩니다. 즉, 하나의 hg 저장소를 사용하여 하나의 (지워지지 않은) "default"브랜치를 유지합니다. 이 기본 분기에는 모든 "자식 분기"마다 하나의 책갈피가 있습니다.

이제 bitbucket의 문제는 "hg bookmark"지원 (현재)이 "git branch"지원만큼 완전하지 않다는 것입니다.

글을 쓸 당시에는 책갈피 지원이 전혀 없었으며 (익명) 헤드에 대한 지원 만있었습니다. 대부분의 북마크는 헤드이기도하므로 모든 헤드/북마크에 대해 하나의 해시를 볼 수 있습니다. 그러나 일부 책갈피는 머리에 없지만 커밋은 모두 다른 책갈피/머리에 포함됩니다. 이들은 bitbucket에서 완전히 보이지 않았습니다.

지금까지 북마크는 커밋보기에 (이름이 함께 표시됨) 드롭 다운에서 선택할 수 있습니다. "지점"탭에 표시되지 않습니다. 일반적으로 책갈피 끌어 오기 요청을 열 수 없습니다. 그러나 머리글 인 책갈피의 경우 해당 머리글에 대한 끌어 오기 요청을 열 수 있습니다.

도 참조 : 개발자가 서로 다른 두 가지의 repos를 사용해서 bitbucket issue: can't create pull request from hg bookmark