我如何改变我从哪一个GitHub项目分叉?

我分了一个项目,做了一些改动,并接受了一个拉取请求。 但现在,我分叉的项目移动到另一个存储库,并且是该存储库的一个分支。

那是:

Original -> MyFork 

现在:

 NewOriginal -> Original -> MyFork 

我将如何得到它以下?

 NewOriginal -> MyFork 

在本地你可以只改变原始版本库所在的目标。 通常这个库被称为上游 ,所以你可以这样做:

 git remote set-url upstream git://example.com/NewOriginal.git 

根据你使用的主机(也就是你的叉子的位置),可能会有一些额外的内部链接,你不能这么容易地改变。 例如,在Github上,这个叉子直接与你从中分出的原始链接。 在这种情况下,您需要再次分叉新项目,并使用新的分叉。

在这种情况下,您可以轻松地更改原始存储库的URL ,只需将您以前更改过的所有内容都推送到您的新分叉中即可。

注意 :以下解决scheme是不完整的,因为您将失去所有维基内容和特定于您的分叉问题。

您可以使用以下步骤来实现此目的:

  1. 从现有的叉子上拉下所有分支和标签。
  2. 在GitHub上删除你的仓库。
  3. 叉从新的存储库。
  4. 根据需要更新远程URL 。
  5. 将所有本地分支和标签推送到新的存储库。

更新存储库中的远程URL :

 git remote set-url origin <url to NewOriginal, eg git://…/bla.git> 

假设你执行了正确的分叉和添加上游请参阅githubHelpOnFork ; 只要更改上游url,请执行以下操作:

  1. validation你目前的上游和起源是什么样的:

     git remote -v 
  2. 如果你看到上游列出,你想只是改变它的url,做@pokebuild议(如果不按照上面的helpGithub链接添加一个新的上游):

     git remote set-url upstream git://example.com/NewOriginal.git 
  3. 然后validation上游是否指向新的URL

    git remote -v