我在GitHub上有一个公共存储库。我想复制/复制它,并在基于这个存储库的新项目上工作,但我不想影响它现在的情况。我尝试使用GitHub UI分叉,但它没有做任何事情。
只需克隆它,创建新的空白回购,并推动它。
git clone https://github.com/userName/Repo New_Repo cd New_Repo git remote set-url origin https://github.com/userName/New_Repo git remote add upstream https://github.com/userName/Repo git push origin master git push --all
(见git push)
git push
参见“__abc0”中描述的所有过程。
narf的回答 (upvotes)也说明了这个过程。
这将允许您创建一个新的存储库,并使用其GitHub url将旧存储库的完整历史导入到新的存储库中。
同样:你得到的是一个副本,而不是一个真正的fork:你不能从新的回购向旧的回购发出拉请求。
同样(bis),正如在评论中通过mpersico声明的那样,这是不一个TRUE FORK。
mpersico
如果我有一个foo,它是一个开源项目的规范源代码回购,我想让其他人分叉并有权做PR,那么我不想在那个回购中工作,我想要一个我可以用来对我的项目发布适当的PR的分叉。 我已经解决了这个问题,我在GitHub中创建了第二个帐户,并将其分叉
我试了一下,效果很好:
我遵循了“复制存储库”的官方说明,它似乎起作用了。
https://help.github.com/articles/duplicating-a-repository/
要在没有分叉的情况下创建存储库的副本,需要对原始存储库运行一个特殊的clone命令,并将镜像推到新存储库。这适用于任何git存储库,而不仅仅是托管在GitHub上的存储库。
不幸的是,VonC的公认解决方案并不适合我
remote:未找到存储库
奏效的方法如下:
我从在这里中得到了以上所有内容。
要达到预期效果,最简单的方法是创建一个新的存储库,然后选择导入选项并提供您希望派生的回购的URL。
下面的图片会有所帮助:
通过import-1 Fork自己的回购
通过import-2 Fork自己的回购
对于使用GitHub的非技术人士,这里有一个简单的解决方案,作为上述其他优秀答案的替代方案。你需要的只是一个GitHub桌面应用程序。
your-project-master.zip
当你创建一个新的repo时,你可以使用repo .git url从另一个repo导入。我只用了30秒。
在GitHub网站上,一个超级简单的方法可以在30秒内完成:
https://github.com/YourName/YourOldRepo
+
Begin Import
局限性:它实际上不是一个真正的叉子。这是一份回购合同的副本。它不允许来回拉请求。
现在,你可以将基本存储库标记为模板(在设置中,将其标记为模板库),并在repo的主页面上,单击使用这个模板来创建第二个repo。
从模板创建存储库类似于分支存储库,但有重要的区别__abc0:
Github帮助:创建模板存储库 从模板创建存储库
我看到的唯一缺点是,分叉回购不会出现在用户配置文件下,而是出现在组织配置文件下。
git remote remove origin git remote add origin git@github.com:account/new.git git branch -M main git push -u origin main
这结合了@mcepl的答案和@wadesworld的评论,非常类似于在github上创建一个新的存储库时所显示的官方解决方案(标题为"或者从命令行推送一个现有的存储库")