jub*_*0bs 28
我知道分叉是在服务器端克隆存储库[...]
那是对的.在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
Run Code Online (Sandbox Code Playgroud)
这就是叉子发挥作用的地方.通过分配别人的回购,您可以获得一份您具有写入权限的副本,即您可以推送您的贡献.整个工作流程如下:
The*_*ous 17
来自Github文档
fork是存储库的副本.分叉存储库允许您在不影响原始项目的情况下自由地尝试更改.
最常见的是,叉子用于建议对其他人项目的更改或使用其他人的项目作为您自己想法的起点.
https://help.github.com/articles/fork-a-repo/
通过将存储库标记为“从...派生”,Forking可以清楚地表明您的存储库是从另一个存储库派生的,更重要的是,它将在原始项目的派生列表中列出您的存储库。
这样做的优点之一是,当您仍在进行原始项目时,如果原始项目停止运行,人们仍然可以在主存储库的派生列表中找到您的存储库。
从github的角度来看,他们可以节省一些磁盘空间,这是因为您知道原始存储库与原始存储库之间的git对象相同并且可以共享
而且,我认为您不能从不是原始存储库的存储库中发出拉取请求。至少我做不到,我不得不叉子,推到叉子,请求拉动请求。
小智 5
另一个角度——为什么在一家你可能拥有推送许可的公司内进行分叉。
我也更喜欢我公司的分叉工作流程。这使上游存储库保持干净状态。它只有官方分支和标签,并且不会被 100+ 或 1000+ 的开发分支等弄乱。当你获取上游时,你可以清楚地看到发生了什么,就像没有分叉一样,当获取时你会得到太多的变化,以至于太混乱了。有些团队将他们的存储库视为外部开源存储库 - 即他们不允许将任何内容推送到他们的存储库 - 只允许来自分叉的拉取请求。
| 归档时间: |
|
| 查看次数: |
4661 次 |
| 最近记录: |