如何在GitHub上创建自己的存储库?

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

69499 次浏览

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

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

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)

参见“__abc0”中描述的所有过程。


六年之后(2016),你现在有GitHub进口国,它允许你从另一个来源导入一个回购…包括GitHub。
看到“使用GitHub Importer导入存储库" < / p >

https://help.github.com/assets/images/help/importer/import-repository.png

narf回答 (upvotes)也说明了这个过程。

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

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

同样(bis),正如在评论中通过mpersico声明的那样,这是一个TRUE FORK。

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

我试了一下,效果很好:

  1. 将你的回购转入一个组织账户
  2. 重命名它
  3. 将所有权转回给自己

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

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

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

  1. https://github.com/YOURREPO.git TargetRepoName
  2. cd TargetRepoName /
  3. git remote set-url origin https://github.com/TargetRepoName.git
  4. Git push -u origin master

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

remote:未找到存储库

奏效的方法如下:

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

我从在这里中得到了以上所有内容。

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

下面的图片会有所帮助:

通过import-1 Fork自己的回购

通过import-2 Fork自己的回购

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

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

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

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

  1. 复制你的回购URL。例如:https://github.com/YourName/YourOldRepo(提示:当你在github上查看你的回购主页时,它是URL。
  2. 单击右上角的+图标 李https://i.stack.imgur.com/9zJgo.png < / >
  3. 选择“Import repository”。
  4. 在它要求“旧URL”的地方,粘贴你在步骤#1中复制的URL 李https://i.stack.imgur.com/vgWd3.png < / >
  5. 输入新回购的名称并单击Begin Import
  6. 就是这样!你现在有了一个完整的副本,包括所有的提交历史和分支!

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

现在,你可以将基本存储库标记为模板(在设置中,将其标记为模板库),并在repo的主页面上,单击使用这个模板来创建第二个repo。

从模板创建存储库类似于分支存储库,但有重要的区别__abc0:

  • 一个新的fork包含父存储库的整个提交历史,而从模板创建的存储库则从一个commit. __abc0开始
  • 向fork提交不会出现在你的贡献图中,而向从模板创建的存储库提交则会出现在你的贡献图中。__abc0
  • fork可以是向现有项目贡献代码的临时方式,同时从模板创建存储库可以快速启动新项目。__abc0

Github帮助:创建模板存储库 从模板创建存储库

虽然不可能将自己的回购转入同一个账户, 它可以在自己拥有的组织帐户中完成,可以通过“+”按钮轻松免费创建 这个选项的主要优点是,新的回购是原来的一个真正的分支,而不仅仅是一个克隆。 这意味着,例如,您可以将原始回购中的更改更新到新的回购中(对于克隆的回购则不是这样)

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

  1. 在github web前端创建一个新的空回购
  2. 在旧的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上创建一个新的存储库时所显示的官方解决方案(标题为"或者从命令行推送一个现有的存储库")