[英]GitHub: Why should I fork?
我知道分叉是在服务器端克隆存储库。 但我不明白我为什么要这样做。
为什么不将原始存储库克隆到我的机器上,添加我的代码,而不是将新分支推送到 GitHub 并发出拉取请求?
我知道分叉是在服务器端克隆存储库 [...]
这差不多。 在 GitHub 上,fork 是其他一些 GitHub 存储库的副本,并引用了从中复制它的存储库。
备注:fork 的概念源于 GitHub; 它不是一个 Git 概念。
[...] 但我不明白我为什么要这样做。 为什么不将原始存储库克隆到我的机器上,添加我的代码,然后将新分支推送到 GitHub 并发出拉取请求?
除非您对相关存储库具有写入权限,否则您不能简单地将任何内容推送到它; 服务器将拒绝您的推送,并显示错误消息
remote: Permission to bos/text.git denied to Jubobs.
fatal: unable to access 'https://github.com/bos/text/': The requested URL returned error: 403
这就是叉子发挥作用的地方。 通过 fork 别人的 repo,你得到一个你有写权限的副本,即你可以推送你的贡献。 整个工作流程是这样的:
来自 Github 文档
分叉是存储库的副本。 分叉存储库允许您在不影响原始项目的情况下自由试验更改。
最常见的是,分叉用于提出对他人项目的更改或使用他人的项目作为您自己想法的起点。
分叉清楚地表明您的存储库是从另一个存储库派生的,通过将您的存储库标记为“从...分叉”,更重要的是,它会将您的存储库列出在原始项目的分叉列表中。
这样做的好处之一是,如果原始项目在您仍在工作时停止运行,人们仍然可以在主存储库的分叉列表中找到您的存储库。
从 github 的角度来看,他们可以通过知道您和原始存储库之间的 git 对象相同并且可以共享来节省一些磁盘空间
此外,我认为您不能从不是原始存储库的分支的存储库中发出拉取请求。 至少我做不到,我不得不分叉,推到分叉,请求拉取请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.