我在GitHub上有一个公共存储库。我想复制/复制它并处理基于此存储库的新项目,但我不想影响它现在的状态。我尝试使用GitHub UI进行分叉,但它没有做任何事情。
答案 0 :(得分:155)
我认为你不能分叉你自己的回购 克隆它并推送到一个新的回购是好的,但你需要:
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
)
请参阅“Fork your own project on GitHub”中描述的所有流程。
六年后(2016年),您现在拥有GitHub importer,允许您从其他来源导入回购...包括GitHub。
请参阅“Importing a repository with GitHub Importer”
这将允许您创建一个新的存储库,并使用其GitHub URL将旧的存储库的完整历史记录导入到新的存储库中。
再说一遍:你得到的是一个副本,而不是一个真正的分支:你不能从新的回购请求到旧回购。
再次(bis),如in the comments所述mpersico
,
如果我有一个foo,这是一个开源项目的规范源代码,我希望其他人分叉并有权进行PR,那么我不想在那个回购中工作,我想要一个我可以的分叉用来对我的项目发出适当的PR 我已经解决了这个问题,我在GitHub中创建了第二个帐户,然后向它求助。
答案 1 :(得分:75)
从GitHub网站30秒内完成此操作的超级简单方法:
答案 2 :(得分:6)
答案 3 :(得分:3)
只需克隆它,创建新的空白回购,然后推送到它。
答案 4 :(得分:2)
实现所需效果的最简单方法是创建一个新的存储库,然后选择导入选项并将URL提供给您希望分叉的存储库。
以下图片有助于:
答案 5 :(得分:1)
我按照这些官方说明进行了#34;复制存储库"它似乎有效。
https://help.github.com/articles/duplicating-a-repository/
要创建存储库的副本而不进行分支,您需要针对原始存储库运行特殊克隆命令并镜像推送到新存储库。这适用于任何git存储库,而不仅仅是在GitHub上托管的存储库。
答案 6 :(得分:1)
不幸的是,VonC的公认解决方案对我来说并不适用,因为我得到了
remote:找不到存储库
以下是什么工作:
我从here获得了以上所有内容。
答案 7 :(得分:1)
对于使用GitHub的非技术人员,这里有一个简单的解决方案,作为上述其他优秀答案的替代方案。你需要的只是一个GitHub桌面应用程序。
答案 8 :(得分:0)
您现在可以将基础存储库标记为模板(在“设置”中,将其标记为模板存储库),然后在存储库的主页上,单击使用此模板创建第二个仓库
Github帮助:creating a template repository creating a repository from a template
答案 9 :(得分:0)
尽管无法将自己的存储库分叉到同一帐户中, 可以将其保存到一个自有的组织帐户中,该帐户可以通过“ +”按钮免费免费创建。
此选项的主要优点是,新的仓库是原始仓库的真实分支,而不仅仅是克隆。 例如,这意味着您可以将原始仓库中的更改更新为新仓库中的更改(克隆仓库不是这种情况)。
我看到的唯一缺点是,分叉的仓库不会出现在用户个人资料下,而是出现在组织个人资料下。
答案 10 :(得分:0)
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 上创建新存储库时显示的官方解决方案非常相似(在标题“...或从命令行推送现有存储库”下) ")
答案 11 :(得分:-1)
试过这个,它起作用了:
答案 12 :(得分:-1)
创建新的仓库时,可以使用repo .git url从另一个仓库导入。我花了30个借调。