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


当前回答

对于使用GitHub的非技术人士,这里有一个简单的解决方案,作为上述其他优秀答案的替代方案。你需要的只是一个GitHub桌面应用程序。

从浏览器打开您自己的项目回购,并下载压缩文件,如your-project-master.zip。 解压缩并将其重命名为新的repo。 打开GitHub桌面,并通过浏览它添加您的新repo到您解压缩的本地路径new repo。 发布到你的github,通过点击发布按钮。别忘了加上名字和描述:)

其他回答

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

在github web前端创建一个新的空回购 在旧的repo的克隆中,替换远程并推送:

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上创建一个新的存储库时所显示的官方解决方案(标题为“…或从命令行推送一个现有的存储库”)

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

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中创建了第二个帐户,并将其分叉。

一步一步

首先,您应该创建一个访问令牌

然后:

导入现有的存储库

在这里:

为新的存储库输入一个名称

现在是重要的一步

在密码块中,您必须输入您生成的访问令牌

对于使用GitHub的非技术人士,这里有一个简单的解决方案,作为上述其他优秀答案的替代方案。你需要的只是一个GitHub桌面应用程序。

从浏览器打开您自己的项目回购,并下载压缩文件,如your-project-master.zip。 解压缩并将其重命名为新的repo。 打开GitHub桌面,并通过浏览它添加您的新repo到您解压缩的本地路径new repo。 发布到你的github,通过点击发布按钮。别忘了加上名字和描述:)