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


当前回答

我遵循了“复制存储库”的官方说明,它似乎起作用了。

https://help.github.com/articles/duplicating-a-repository/

要在没有分叉的情况下创建存储库的副本,需要对原始存储库运行一个特殊的clone命令,并将镜像推到新存储库。这适用于任何git存储库,而不仅仅是托管在GitHub上的存储库。

其他回答

不幸的是,VonC的公认解决方案并不适合我

remote:未找到存储库

奏效的方法如下:

在github创建一个new_repo Git克隆new_repo cd new_repo Git远程添加上游old_repo.git Git拉上游高手 Git push origin master

以上这些我都知道了。

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

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

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

在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克隆https://github.com/YOURREPO.git TargetRepoName cd TargetRepoName / git remote set-url origin https://github.com/TargetRepoName.git Git push -u origin master