Git 开发分支类型与功能分支类型之间的区别是什么?
我读了几篇关于Git流最佳实践的文章。git分支有多种类型(例如:[1]、[2]): 类型Git 开发分支类型与功能分支类型之间的区别是什么?,git,git-flow,Git,Git Flow,我读了几篇关于Git流最佳实践的文章。git分支有多种类型(例如:[1]、[2]): 类型Master与Release之间有什么区别 类型功能与开发之间有什么区别 [1] [2] 主版本与发布版本之间的区别在于,主版本分支是您的客户/用户正在使用的分支。它是实际安装或销售的分支 在许多团队中,master分支(通常也称为master)也是release分支。但情况并非总是如此。在较大的公司或具有单独测试或QA部门/团队的公司中,主分支是销售给客户的分支,但发布分支是被测试的分支。请注意,对于一些
Master
与Release
之间有什么区别
类型功能
与开发
之间有什么区别
[1]
[2] 主版本与发布版本之间的区别在于,主版本分支是您的客户/用户正在使用的分支。它是实际安装或销售的分支 在许多团队中,
master
分支(通常也称为master
)也是release
分支。但情况并非总是如此。在较大的公司或具有单独测试或QA部门/团队的公司中,主分支是销售给客户的分支,但发布分支是被测试的分支。请注意,对于一些运行完整测试的项目,可能需要一周或更长时间,因此有一个测试人员可以测试但稳定的分支是有意义的(开发人员不经常推送更新)
feature
和develope
之间的差异来自相同的推理。develope
分支(通常称为develope
或dev
)是稳定的开发人员分支。在传统的源代码管理软件中,开发分支是您的repo服务器。它是所有开发人员的共同分支。它是您开始开发的分支
另一方面,功能分支是您自己的个人分支。在功能/故事/模块的开发过程中,您当然会对代码进行大量修改。要利用git,您应该尽早提交并经常提交。但是根据定义,您正在处理的代码是不稳定的(未定稿),可能会对其他开发人员造成破坏性的更改。因此,您可以在自己的分支(从develop分支)上进行开发,直到您的代码准备好合并回develop。对于git工作流,如[1]所示:
:所有功能/新功能/主要重构都在feature
分支中完成,这些分支将分支并合并回feature
分支(通常在某种同行审查之后)李>develope
:当积累了足够的功能或下一个发布时间框架临近时,一个新的发布
分支将分支发布
。它专门用于测试/bug修复和任何必要的清理(例如更改某些路径名、不同的仪器默认值等)开发
一旦QA对质量感到满意,master
分支将合并到发布
(并返回到master
)。这就是客户装运/使用的内容开发
如果在发布后发现重大问题,则修复程序将在从主程序分支出来的热修复程序
分支中开发。这些是唯一的分支将永远分支出大师热修复程序
- 注意:
中的任何提交都是合并提交(来自master
或release
分支),并表示发送给客户的新版本hotfix
请注意,此模型主要用于a)遵循b)经典版本控制的大型软件项目,以及c)有单独的QA团队。GitHub上许多流行的存储库都采用了一种更简单的模型。只是因为还没有人清楚地说明这一点,而这本可以回答我的问题 类型
Master
与Release之间有什么区别?
类型功能
与开发
之间有什么区别
没有区别。
分支名称是团队建立的约定,而不是git强制执行的规则
Git不在乎你把你的分支叫做什么,你创建了多少分支,你什么时候把它们合并到Git等等。。。一根树枝就是一根树枝就是一根树枝
在许多团队中,分支机构的名称遵循定义的约定,只是为了便于共享理解。。。但正如我们经常看到的,你的惯例对技术并不重要。需要一个人才能给出一个概念的含义,所以可以随意以任何你认为有意义的方式命名你的分支。这些名称似乎只是随意的,尽管是常见的,给Git分支命名。通常,
master
是所有其他分支最终合并到的主分支(“SVN中的主干”)。至于其他名字,它们的用途似乎不言自明。@MikeMB:啊,是的。为什么没有命名为devel
而不是develop
,因为它是一个非常常用的缩写?@nowox:develop分支有几个常见的名称:dev
,develop
,main
等等。它们都是develop分支。这是一个概念。开发分支的名称取决于您是否所有这些约定(与Git本身无关)?可能明确提到了GitFlow(由于拼写问题,问题中不清楚)。@PeterMortensen:问题有一个git flow
标记,这是一个工作流(约定),通常被认为是大多数git项目的“标准”工作流。是的,它与git无关,但它与git流有关。请阅读以下原始提案:
+ Master
+ Develop
+ Feature
+ Bug
+ Proof of concept
+ Release
+ Hotfix