GitHub 上 Fork 和分支的区别
本文讨论 GitHub 上 Form 和 分支 的区别。 在编码的背景下,当前时代更依赖于协作。
GitHub 是最常用的协作工具之一。 在 GitHub 上进行分叉和分支是项目协作时最有用的一些实用程序。
但是,两者有不同的用例和含义,如下所述。
GitHub 上分叉和分支的区别
在 GitHub 上进行分叉涉及在您的个人帐户中创建公共存储库的副本。 这个概念鼓励代码库的发散演化。
发散进化对于那些希望在一个主题上进行广泛实验的人来说是理想的选择。
另一方面,分支涉及从原点创建分支。 它鼓励代码库的融合演化。
大多数企业更喜欢分支,因为它对团队的生产力有积极影响。
发散与趋同进化
您可能已经注意到,在开源世界中,一个代码库可能会同时拆分为两个项目。 以 Linux 代码库为例。
我们现在有几个分支,比如 Linux RedHat,但它们都有一个共同的祖先。 这是代码库发散演化的一个例子。
值得注意的是,这些迭代并不是临时的发展路径,永远不会相互融合。
另一方面,分支是临时的发展路径。 当代码合并到 master 分支时,分支是短暂的。
这就是为什么他们鼓励代码库的融合演化。
Fork 创建一个新的存储库
只需按一下按钮,GitHub 就可以轻松创建分支。 此操作会在分叉时创建存储库的副本。
什么时候 Fork 比较理想?
这是当您想要创建一个独立项目而不打算将其与其父项目重新组合时。
您可能会在 GitHub 上遇到一个项目,它是您项目的一个很好的起点。 在这样的时刻,分叉将是最理想的。
在 GitHub 上分支
分支在代码库中扮演构建区的角色。 我们暂时使用分支来处理特性,目的是与原点合并。
要在 GitHub 上创建分支,请转至查看所有分支并点击新建分支。
要在本地创建一个新分支,我们使用 git checkout
命令,如下所示。
$ git checkout -b <新分支>
Fork 和分支的成本是多少
合并分支更容易也更快捷,因为 Git 只会比较更改的文件。 另一方面,分叉可以被认为更昂贵。
当合并一个分支与其原始父级时,Git 必须比较两个存储库。
请记住
,分叉会创建整个父存储库的副本。
新分支的文件大小将根据父分支而有所不同。 分叉会占用远程服务器上的更多空间。
鼓励企业建立分支机构,因为这样可以提高可见度并降低运营风险。
原因如下:
假设我们有一个十人团队致力于项目中的不同功能。 当每个开发人员创建一个分支时,我们将拥有十个不同且独立的存储库。
这将使您很难看到每个人都在做什么,除非您将所有 10 个存储库都放在一个地方。
这不是一个真正的协作环境,因为代码更改存在于十个不同的存储库中。
如果开发人员选择十个不同的分支而不是分叉,那么它将更像是一个协作空间,因为所有提交都在一个存储库中。 这个论点迎合了可见性的问题。
当我们谈论运营风险时,举个例子:开发人员创建了十个分叉,其中一两个由于某种原因不可用。 这引入了知识管理的风险,其他开发人员将不知道其他开发人员已经到达哪里。
情况并非总是如此,但仍然可以通过采用以分支为中心的工作流程来避免这种风险。
以分支为中心的工作流最适合业务环境,而分叉最适合公共协作和实验。 如果你们都在朝着一个目标努力,那就选择以分支为中心的工作流程。
相关文章
如何在 Windows 系统中卸载 git
发布时间:2023/04/09 浏览次数:223 分类:Git
-
在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。
Git 如何重命名本地分支
发布时间:2023/04/09 浏览次数:64 分类:Git
-
大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。
重命名 Git 存储库中的文件和目录
发布时间:2023/04/09 浏览次数:102 分类:Git
-
在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。
在 Git 中取消初始化存储库
发布时间:2023/04/09 浏览次数:187 分类:Git
-
本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。
Git 仓库名称该如何命名
发布时间:2023/04/09 浏览次数:208 分类:Git
-
使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。
配置 Git 以忽略文件模式更改
发布时间:2023/04/09 浏览次数:67 分类:Git
-
本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。
在 Git 中暂存已删除的文件
发布时间:2023/04/09 浏览次数:93 分类:Git
-
本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?
在 Git 中显示冲突文件
发布时间:2023/04/09 浏览次数:139 分类:Git
-
本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。