我在GitHub上有一个公共存储库。我想复制/复制它,并在基于这个存储库的新项目上工作,但我不想影响它现在的情况。我尝试使用GitHub UI分叉,但它没有做任何事情。
当前回答
现在,您可以将基本存储库标记为模板(在设置中,将其标记为模板存储库),并在repo的主页面上,单击使用此模板创建第二个repo。
从模板创建一个存储库类似于分支一个存储库,但有重要的区别[1]:
新的fork包含父存储库的整个提交历史,而从模板创建的存储库则从单个提交开始。[1] 向fork提交的文件不会出现在你的贡献图中,而向模板创建的存储库提交的文件会出现在你的贡献图中 fork可以是向现有项目贡献代码的临时方式,同时从模板创建存储库可以快速启动新项目
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中创建了第二个帐户,并将其分叉。
虽然你不可能将自己的回购账户存入同一个账户, 它可以进入自己拥有的组织帐户,可以通过“+”按钮轻松免费创建。
这个选项的主要优点是,新的回购是原来的一个真正的分支,而不仅仅是一个克隆。 这意味着,例如,您可以将原始回购中的更改更新到新的回购中(对于克隆的回购则不是这样)。
我看到的唯一缺点是,分叉回购不会出现在用户配置文件下,而是出现在组织配置文件下。
要达到预期效果,最简单的方法是创建一个新的存储库,然后选择导入选项并提供您希望派生的回购的URL。
下面的图片会有所帮助:
通过import-1 Fork自己的回购
通过import-2 Fork自己的回购
推荐文章
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- Mercurial初学者:最终实用指南
- 新Github项目发布通知?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?