我在GitHub上有一个公共存储库。我想复制/复制它,并在基于这个存储库的新项目上工作,但我不想影响它现在的情况。我尝试使用GitHub UI分叉,但它没有做任何事情。


当前回答

要达到预期效果,最简单的方法是创建一个新的存储库,然后选择导入选项并提供您希望派生的回购的URL。

下面的图片会有所帮助:

通过import-1 Fork自己的回购

通过import-2 Fork自己的回购

其他回答

虽然你不可能将自己的回购账户存入同一个账户, 它可以进入自己拥有的组织帐户,可以通过“+”按钮轻松免费创建。

这个选项的主要优点是,新的回购是原来的一个真正的分支,而不仅仅是一个克隆。 这意味着,例如,您可以将原始回购中的更改更新到新的回购中(对于克隆的回购则不是这样)。

我看到的唯一缺点是,分叉回购不会出现在用户配置文件下,而是出现在组织配置文件下。

只需克隆它,创建新的空白回购,并推动它。

在GitHub网站上,一个超级简单的方法可以在30秒内完成:

复制你的回购URL。例如:https://github.com/YourName/YourOldRepo(提示:这是你在github上查看你的回购主页时的URL。 单击右上角的+图标。 选择“Import repository”。 在哪里,它要求“旧URL”,粘贴你在第1步复制的URL 输入新回购的名称并单击Begin Import。 就是这样!你现在有了一个完整的副本,包括所有的提交历史和分支!

局限性:它实际上不是一个真正的叉子。这是一份回购合同的副本。它不允许来回拉请求。

当你创建一个新的repo时,你可以使用repo .git url从另一个repo导入。我只用了30秒。

我不认为你能支付自己的回购。 克隆它并将其推到一个新的回购是很好的,但你需要:

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)

参见“在GitHub上Fork你自己的项目”中描述的所有过程。


六年后(2016年),你现在有了GitHub导入器,它允许你从另一个来源导入回购…包括GitHub。 参见“使用GitHub Importer导入存储库”

Narf的回答(被点赞)也说明了这个过程。

这将允许您创建一个新的存储库,并使用其GitHub url将旧存储库的完整历史导入到新的存储库中。

同样:你得到的是一个副本,而不是一个真正的fork:你不能从新的回购向旧的回购发出拉请求。

再次(二),正如mpersico的评论所述,这不是一个真正的FORK。

如果我有一个foo,它是一个开源项目的标准源代码回购,我想让其他人分叉并有权做PR,那么我不想在那个回购中工作,我想要一个我可以用来对我的项目发布适当的PR的分叉。 我已经解决了这个问题,我在GitHub中创建了第二个帐户,并将其分叉。