我分出了一个项目,做了一些修改,并且接受了一个拉取请求。但是现在,我分叉的项目移动到另一个存储库,并且是该存储库的一个分支。如何更改我从哪个GitHub项目中分出?
即:
Original -> MyFork
现在:
NewOriginal -> Original -> MyFork
我将如何得到它的下面?
NewOriginal -> MyFork
我分出了一个项目,做了一些修改,并且接受了一个拉取请求。但是现在,我分叉的项目移动到另一个存储库,并且是该存储库的一个分支。如何更改我从哪个GitHub项目中分出?
即:
Original -> MyFork
现在:
NewOriginal -> Original -> MyFork
我将如何得到它的下面?
NewOriginal -> MyFork
本地你可以改变原来的存储库的目标是位于。通常认为库称为上游,所以你可以这样做:
git remote set-url upstream git://example.com/NewOriginal.git
根据您所使用的主机(即,你的叉子所在地),可能有一些额外的内部链接,你可以不容易改变。例如,在Github上,分支直接与您从中分出的原始链接相关联。在这种情况下,您需要再次分叉新项目,并使用新分叉。
在这种情况下,但是你可以很容易地改变起源库的URL,以及,只是把你在你的旧叉之前改变了一切到您的新的分支。
注意:以下解决方案不完整,因为您将失去所有维基内容和问题特定于您的分叉。
您可以通过以下步骤实现:
这是问题的正确答案 - OP需要更改github对“父”的视图,因此当他发出pull请求时,他们会转到新父项,而不是旧项。看起来似乎唯一的答案是删除存储库并再次分叉。 – Ether 2013-08-25 17:38:13
这是在github中缺少的功能的解决方法。 – abergmeier 2014-01-15 10:25:02
这样的羞耻github仍然没有一个更好的工作流程。 – Ashimema 2015-09-08 21:26:58
假设您执行了正确的分叉并添加上游参见githubHelpOnFork;只需更改上游URL,这样做:
验证当前的上游和原始的样子:
git remote -v
如果你看到上游列出你只想改变它的URL,做什么@戳建议(如果不遵循helpGithub以上链接添加新的上游):
git remote set-url upstream git://example.com/NewOriginal.git
然后验证上游指向新的URL
远程Git -v
接受的答案提供了一个解决办法,但并没有真正回答的主要问题,如何更改元数据在GitHub上本身“从分叉”。我对同样的事情感兴趣。 – 2012-12-25 22:57:09