如何更改Github分支的源?

18

我在Github上从源A派生了一个项目。自那时以来,标准做法是向B发出拉取请求而不是A。这意味着每个拉取请求我都必须手动指定目标 - 有点繁琐。

有没有一种方法可以永久更改我的分叉源?

2个回答

7

这并不是对 @VonC 的回答做出很好的补充,但我通过移除原始的 fork,然后从正确的源仓库进行了 fork。

如果你有想要保留的本地分支,在操作后只需将其推送到新的 fork 中。在删除原始的 fork 之前,请确保你已经从中获取了所有内容。

我认为这是 Github 的一个限制,毫无意义,并且应该很容易修复,只需要一点善意。


6

一开始我没找到,但一个解决方法是从源B创建另一个分支,并:

  • 克隆新的分支。
  • 将初始本地分支添加为远程分支。
  • 从第一个本地分支获取,以获得所有当前工作内容。
  • 将您的工作推送到第二个分支。

至少,这个第二个分支将拥有所有拉取请求的正确目标。

注意:OP Steve Bennett 提醒我们:

Github不允许您两次分支相同的存储库
(也就是说,您将A分叉成C,然后其他人将A分叉成B-您无法将C分叉成D。您会得到“您的分支”按钮)

因此,我建议在另一个帐户下进行第二次分叉

您可以从本地克隆中管理多个帐户,这将允许您绕过GitHub对多个分支的限制。


我本以为这会起作用,但是 Github 不允许你两次 fork 同一个仓库。也就是说,你可以从 A fork 出 C,然后别人从 A fork 出 B,但你不能从 C 再 fork 出 D。你只能看到 "Your Fork" 按钮。 - Steve Bennett
@SteveBennett 有没有可能在另一个账户下进行第二次分支?您可以从本地克隆管理多个账户,这将允许您绕过GitHub对多个分支的限制。 - VonC
@SteveBennett请告诉我。与此同时,我已更新答案,以提高其可见性。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接