在GitHub上分叉是什么意思?

San*_*jay 33 fork github repository

经过一番探索,在我的理解中,它与贡献有关.

Fork意味着将存储库(正在分叉的存储库)的副本复制到我自己的github帐户中.如果我想分叉官方jQuery存储库,那么我将转到https://github.com/jquery/jquery并点击"Fork"按钮,GitHub将存储库(jquery)复制到我的帐户(http:// github.com/yegya).然后,我将在http://github.com/yegya/jquery上提供该存储库的复制版本

现在,我可以对我的存储库进行任何更改,然后将拉取请求发送到原始存储库(jQuery的存储库),要求jQuery团队将我的更改合并到其原始存储库中.

我是否理解得当,或者它意味着什么更多或其他什么?

Gau*_*a R 10

是的,你是对的.当我教别人GitHub时,我想通过一个例子来解释这个概念.让我们看一下老师在班上进行MCQ的场景.他通常会复制问题文件并将其分发给学生(分叉),以便他们可以对其进行处理并标记正确的答案.老师仍然有主副本.在完成测试后,他可以从学生那里收集副本,以便他可以评估它(拉动请求).

只是喜欢它.分叉是将主存储库的副本复制到您的帐户的概念,以便您可以对其进行修改.您可以通过修改将拉取请求提交到主存储库.它将确保防止主存储库发生意外更改.

  • 但叉子是一种将食物从一个地方带到另一个地方的工具吗?为什么不称为副本或克隆? (3认同)
  • @hellWarrior 我的理解是,当您在项目中使用存储库时,分叉允许您保存代码版本并在以后对其进行更改。如果您只是复制存储库并且它不断更新,它可能会达到新版本并破坏项目中的某些内容,例如添加旧设备不支持的功能。这对客户来说可能是一个大问题。分叉允许您复制存储库而不需要将来的更新,然后如果需要调整代码,您还可以编辑分叉。编辑存储库对于开发人员来说是一个很大的好处。 (2认同)

Fur*_*vuz 7

这是 fork a repo 的官方解释:

分叉是存储库的副本。分叉存储库允许您自由地尝试更改而不影响原始项目。

最常见的情况是,fork 用于对其他人的项目提出更改建议,或者将其他人的项目用作您自己想法的起点。

建议更改他人的项目

使用 fork 提出更改的一个很好的例子是错误修复。您可以:而不是为您发现的错误记录问题:

分叉存储库。进行修复。向项目所有者提交拉取请求。如果项目所有者喜欢您的工作,他们可能会将您的修复程序拉入原始存储库!

使用别人的项目作为您自己想法的起点。

开源的核心思想是通过共享代码,我们可以开发出更好、更可靠的软件。

从某人的项目的分支创建公共存储库时,请确保包含一个许可文件,该文件确定您希望如何与他人共享您的项目。

有关开源的更多信息,特别是如何创建和发展开源项目,我们创建了开源指南,通过推荐为开源项目创建和维护存储库的最佳实践,帮助您培养健康的开源社区。

https://help.github.com/articles/fork-a-repo/