我如何改变我从哪一个GitHub项目分叉?
我分了一个项目,做了一些改动,并接受了一个拉取请求。 但现在,我分叉的项目移动到另一个存储库,并且是该存储库的一个分支。
那是:
Original -> MyFork
现在:
NewOriginal -> Original -> MyFork
我将如何得到它以下?
NewOriginal -> MyFork
在本地你可以只改变原始版本库所在的目标。 通常这个库被称为上游 ,所以你可以这样做:
git remote set-url upstream git://example.com/NewOriginal.git
根据你使用的主机(也就是你的叉子的位置),可能会有一些额外的内部链接,你不能这么容易地改变。 例如,在Github上,这个叉子直接与你从中分出的原始链接。 在这种情况下,您需要再次分叉新项目,并使用新的分叉。
在这种情况下,您可以轻松地更改原始存储库的URL ,只需将您以前更改过的所有内容都推送到您的新分叉中即可。
注意 :以下解决scheme是不完整的,因为您将失去所有维基内容和特定于您的分叉问题。
您可以使用以下步骤来实现此目的:
- 从现有的叉子上拉下所有分支和标签。
- 在GitHub上删除你的仓库。
- 叉从新的存储库。
- 根据需要更新远程URL 。
- 将所有本地分支和标签推送到新的存储库。
更新存储库中的远程URL :
git remote set-url origin <url to NewOriginal, eg git://…/bla.git>
假设你执行了正确的分叉和添加上游请参阅githubHelpOnFork ; 只要更改上游url,请执行以下操作:
-
validation你目前的上游和起源是什么样的:
git remote -v
-
如果你看到上游列出,你想只是改变它的url,做@pokebuild议(如果不按照上面的helpGithub链接添加一个新的上游):
git remote set-url upstream git://example.com/NewOriginal.git
-
然后validation上游是否指向新的URL
git remote -v