我分叉了一个项目,进行了一些更改,并接受了拉取请求。但是现在,我分叉的项目移动到另一个存储库,并且是该存储库的一个分支。
那是:
Original -> MyFork
现在:
NewOriginal -> Original -> MyFork
我如何得到以下内容?
NewOriginal -> MyFork
答案 0 :(得分:60)
注意:以下解决方案不完整,因为您将丢失所有wiki内容以及特定于您的分叉的问题。
您可以使用以下步骤实现此目的:
答案 1 :(得分:55)
在本地,您只需更改原始存储库所在的目标即可。通常该存储库名为 upstream ,因此您可以这样做:
git remote set-url upstream git://example.com/NewOriginal.git
根据您使用的主机(即fork所在的位置),可能会有一些额外的内部链接,您无法轻松更改。例如,在Github上,fork直接与您分叉的原始链接相关联。在这种情况下,您需要再次分叉新项目,并使用新的fork。
在这种情况下,您也可以轻松更改 origin 存储库的URL,然后将您在旧fork中更改的所有内容推送到新的fork中。
答案 2 :(得分:9)
更新存储库中的远程URL:
git remote set-url origin <url to NewOriginal, e.g. git://…/bla.git>
答案 3 :(得分:2)
假设您执行了正确的分叉并添加了上游,请参阅githubHelpOnFork;要只更改上游URL,请执行:
验证您当前的上游和原点是什么样的:
git remote -v
如果您看到上游列出并且您只想更改其网址,请执行@poke建议的操作(如果不遵循上面的helpGithub链接添加新的上游):
git remote set-url upstream git://example.com/NewOriginal.git
然后验证上游是否指向新网址
git remote -v