2

我有以下问题。我有一个 repo,我最初使用 hg-git 从 github 克隆了它,但是因为我一直在用 mercurial 开发它。原始开发人员也不断更新 repo,所以我们有多个头,我使用 TortoiseHg 合并我想要的任何东西,它工作得非常好(我认为 hg-git 在这里没有什么不同)。但是我有以下问题:现在我已经将我的版本推送到 BitBucket,它有三个分支。

3 默认

我对此完全感到困惑。git 中的分支不应该是 Hg 中的书签吗?那么为什么 BitBucket 支持分支而不支持书签呢?我真的不明白 Hg 中的分支是什么,为什么我有 3 个,而实际上hg branch只列出了一个:default?或者它们实际上不是分支,而是书签,只是 BitBucket 这样命名它们不是为了混淆 git 用户?但这是一个 Hg 存储库(我最初创建时设置为 Hg),而且我没有使用 git!

当我尝试时,hg heads -q我得到完全相同的结果:

235:03d08bcf3144
233:d7fbd581b9e1
227:abda0dc38b93

那么它实际上是 BitBucket 所谓的分支的头部吗?是这样,我如何将它们命名为 Git 中的分支,如默认、分叉等?

我想到的一个想法是在每个头上创建一个书签。我想出了如何将push -B它们中的每一个连接到 BitBucket。现在看起来像这样:

6个分支

所以现在它开始变得有意义了,但是我能用 3 个默认值做什么呢?它们为什么在那里,它们实际上是什么?汞中的树枝、头或书签?

为什么我在 BitBucket 设置中只有一个?

1 在设置

4

2 回答 2

1

您在单个命名分支“默认”中有三个头,这三个头是分支-匿名分支

如果你想在“默认”中消除这些分支,你只需在本地存储库中合并头(两个头 - 自己的线并从上游拉出:我不知道没有历史,你如何获得第三个),然后推送到 BitBucket

于 2013-01-01T05:52:45.473 回答
-1

您可能已经阅读了 Mercurial 中的分支指南。这是对不同“种类多变的分支”的一个很好的概述。

所以 git 分支通常被翻译成 hg 书签。也就是说,您继续使用一个带有一个(未)命名分支“默认”的 hg 存储库。在这个默认分支上,每个“git 分支”都有一个书签。

现在 bitbucket 的问题是,它的“hg 书签”支持(当前)不如“git 分支”支持那么完整。

因此,在您撰写本文时,他们根本没有书签支持,只是支持(匿名)头像。大多数书签也是头像,因此您可以为每个头像/书签看到一个哈希值。但是,有些书签不在头上,但它们的所有提交都包含在另一个书签/头中。这些在 bitbucket 上是完全不可见的。

到目前为止,书签在提交视图中显示(及其名称),并且可以在下拉列表中选择。它们不会显示在“分支”选项卡中。通常也无法打开书签的拉取请求。但是,对于作为头像的书签,您可以为该头像打开拉取请求。

另请参阅:bitbucket 问题:无法从 hg 书签创建拉取请求

于 2013-10-11T12:09:33.630 回答