连接两个导入的回购

时间:2017-07-14 17:40:40

标签: git github bitbucket

我们最近从GHE搬到了BitBucket。我们的DevOps团队将Upstream repo导入BitBucket。我们使用Fork和Pull模型,所以我在GHE中有一个Repo的私人分支。现在,当我们转移到BitBucket时,我将我的个人分支从GHE导入BitBucket。

所以,这就是我们现在所处的位置, - 上流回购导入BitBucket - 我的个人分叉导入BitBucket

现在,当我在个人仓库中从分支创建拉取请求时,我无法在“创建拉取请求”屏幕上指定上游仓库。我知道一个解决方案是不导入我的个人仓库,而是从导入的Upstream仓库进行分叉;但我也很想知道我们是否可以创建这个工作流连接/映射,其中两个导入的repos可以以一种被识别为另一个的分叉的方式连接。

另外,我的旧个人叉子上有一堆未合并的WIP分支。

谢谢,并期待着答案。

1 个答案:

答案 0 :(得分:2)

分叉不是Git的原生部分;它是在托管服务提供商和内部部署版本上实现的额外功能,上游repo及其fork之间的特殊关系仅在提供商的数据库中定义。

如果您已转移到Bitbucket Server(自托管版本),那么您可以编辑数据库以设置fork-upstream关系。但是,如果您已经转移到Bitbucket Cloud(bitbucket.org),它根本不是一种选择。

您应该能够重新创建上游和个人分叉之间的链接:

  1. 在Bitbucket上,分叉上游回购。请注意新分叉的URL。
  2. 更新本地仓库上的遥控器以指向新分叉,而不是导入的分叉:git remote set-url origin git@bitbucket.org:owner/new-fork.git
  3. 将所有分支推送到新分支:git push --all
  4. 您可以将之前的导入保留在Bitbucket上,或者如果您愿意,可以将其删除 - 但新的分叉将是您放置内容的新位置。