Git分支设计规范

概述规范是死的,人是活的,希望自己定的规范,不要被打脸。在说 Git 分支规范之前,先说下在系统开发过程中常用的环境。DEV 环境:用于开发者调试使用。FAT

大家好,今天给各位分享Git分支设计规范的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

在讲Git分支规范之前,我们先来说一下系统开发过程中常用的环境。

DEV环境:用于开发者调试。 FAT环境:功能验收测试环境,用于软件测试人员在测试环境中进行测试。 UAT环境:用户验收测试环境,用于软件测试人员在生产环境中进行测试。 PRO环境:是生产环境。例如项目域名为:http://www.abc.com,则相关环境的域名可配置如下:

DEV环境:本地配置虚拟域名到FAT环境:http://fat.abc.comUAT环境:http://uat.abc.comPRO环境:http://www.abc.com 接下来,针对不同环境设计分支。

分支

主分支

master是主分支,用于部署到正式环境(PRO)。一般由release或hotfix分支合并。在任何情况下都不允许直接修改master分支上的代码。

发布分支

Release是预发布分支,用于部署到预发布环境(UAT)。它始终与master分支保持一致,一般由develop或hotfix分支合并。不建议直接在release分支上修改代码。

如果release分支测试出现问题,需要回去验证develop分支,看是否存在这个问题。

修补程序分支

hotfix是紧急修复分支,命名规则以hotfix-开头。

当线上出现紧急问题,需要立即修复时,需要在release或master分支的基础上创建hotfix分支。修复完成后,合并到release或develop分支。一旦修复上线,就会被删除。

开发分支

开发是一个测试分支,用于部署到测试环境(FAT),始终保留最新完成和修复错误的代码。可以根据需求的大小来决定是与feature分支合并还是直接在其上开发。

只有符合测试的代码才能在上面合并或者提交。

特征分支

feature为需求开发分支,命名规则以feature-开头。一旦需求上线,它将被删除。

这可能有点难以理解,所以这里举几个开发场景。

Git分支设计规范

开发场景

添加新要求

订单管理有一个新的要求需要开发。首先,必须创建一个特征顺序分支。那么问题来了,这个分支是基于哪个分支呢?

如果有未测试的需求,则会在master的基础上创建。

如果没有未测试的需求,将根据开发创建它们。

这些要求已在功能顺序分支中开发。准备提交测试时,首先要确保develop没有未经测试的需求。只有这样开发人员才能将代码合并到develop(测试环境)中供测试人员测试。测试人员在develop(测试环境)测试通过后,开发人员将代码发布到release(预发布环境)供测试人员测试。测试人员在release(预上线环境)测试通过后,开发人员将代码发布到master(正式环境)供测试人员测试。测试人员通过master(正式环境)测试后,开发人员需要删除feature-order分支。正常迭代

订单管理有迭代需求。如果开发时间为1d,则直接在develop中开发。如果开发时间是1d,那么就需要创建一个分支,并在分支上进行开发。

测试和上线的开发后流程与添加新需求的流程一致。

修复测试环境bug

如果在develop测试中出现bug,如果需要2小时才能修复,则直接在develop中修复。如果需要2小时才能修复,则需要在分支上修复。

修复后的测试升级上线流程与新增需求流程一致。

修改预启动环境bug

如果发布测试出现bug,首先要检查develop分支是否也存在同样的问题。

如果存在,修复流程与测试环境bug修复流程相同。

如果不存在,这种可能性就比较少。大部分是数据兼容性问题、环境配置问题等。

修改官方环境bug

如果master测试出现bug,首先要检查release和develop分支是否也有这个问题。

如果存在,修复流程与测试环境bug修复流程相同。

Git分支设计规范

如果不存在的话,可能性就比较小。大部分是数据兼容性问题、环境配置问题等。

紧急修复正式环境错误

需求在测试过程中没有发现错误。上线运行一段时间后出现Bug,急需修复。

我个人理解紧急修复意味着没有时间验证测试环境,但还是建议验证上线前的环境。

如果release分支有未经测试的需求,则基于master创建hotfix-xxx分支。修复完成后,发布给master进行验证。验证通过后,将master代码合并到release和develop分支,并删除hotfix-xxx分支。如果release分支没有未测试的需求,但develop分支有未测试的需求,则基于release创建hotfix-xxx分支。修复完成后,发布到release进行验证。后续流程与线上流程一致。验证完成后,将master代码合并到develop分支,删除hotfix-xxx分支。如果release和develop分支都存在未经测试的需求,则直接在develop分支上完成修复,然后发布到release进行验证。后续流程与线上流程相同。并行测试

两个需求在一个项目中并行开发并并行测试,但发布日期不同。

我能想到的两个选择:

然后部署一组可供测试人员测试的分支,并使用gitcherry-pick 来“挑选”提交。对于并行测试,您有好的解决方案吗?欢迎留言。

Commit 日志规范

请务必仔细填写提交的信息!

建议参考规范:类型(范围):主题

例如:fix(首页模块):修复弹出的JS Bug。

type表示动作类型,可分为:

fix: 修复xxx Bugfeat: 添加xxx 功能test: 调试xxx 功能style: 更改xxx 代码格式或注释docs: 更改xxx 文档refactor: 重构xxx 功能或方法scope 表示影响范围,可分为:模块、类库、方法等

主题是指简短的描述,最好不超过60个字。如果有相关bug的Jira编号,建议在描述中添加。

小结

暂时能想到的就这些了。标准不是一成不变的,仅供参考。

用户评论

Git分支设计规范
小清晰的声音

终于看到一个关于 Git 分支设计的规范文档了!之前公司项目分支简直混乱不堪,这篇文章太棒了,以后我们的开发周期应该能更高效一些

    有20位网友表示赞同!

Git分支设计规范
敬情

学习啦学习,以前就觉得Git分支有点懵,没啥标准。现在有了规范,我估计可以提高工作效率多了。

    有17位网友表示赞同!

Git分支设计规范
陌上蔷薇

文档写的很清晰可读,每个分支的功能描述都很到位。就是不知道各个公司具体情况会不会完全适用这个规范 希望多提供一些案例分析

    有16位网友表示赞同!

Git分支设计规范
杰克

说实话,个人更偏好自由的开发流程,觉得强加一个分支规范反而减少了灵活性。不过这份文档还是很有参考价值的,可以借鉴一些思路

    有5位网友表示赞同!

Git分支设计规范
挽手余生ら

以前总是乱分分支,搞得自己一头雾水,现在看着这份规范我觉得我的思路很粗糙。感谢分享!

    有8位网友表示赞同!

Git分支设计规范
减肥伤身#

对于大型项目来说,分支设计确实很重要,避免了代码混乱的问题。这篇文档非常系统,涵盖了各个关键环节的最佳实践。

    有8位网友表示赞同!

Git分支设计规范
冷青裳

我公司一直没有明确的分支规范,导致开发过程中经常出现冲突和延期问题。这篇文章让我豁然开朗,一定要将这份规范分享给团队成员!

    有9位网友表示赞同!

Git分支设计规范
早不爱了

作为项目经理,一个良好的 Git 分支规范能够有效提升团队协作效率。不过,不同的项目类型可能需要定制分支设计方案,需要根据实际情况灵活调整。

    有18位网友表示赞同!

Git分支设计规范
来瓶年的冰泉

我总觉得,Git 分支设计太过琐碎,反而增加了开发过程的复杂度。希望未来能够出现一些更简单高效的解决方案。

    有5位网友表示赞同!

Git分支设计规范
◆残留德花瓣

很认同文档中提到的 "Keep it simple" 的原则,分支设计越简单越好,避免过度复杂化导致开发效率低下。

    有9位网友表示赞同!

Git分支设计规范
肆忌

这份规范写的太理论了!希望作者能提供一些实际案例和代码示例,更容易理解和应用。

    有13位网友表示赞同!

Git分支设计规范
笑叹★尘世美

虽然这个规范很详细,但毕竟只能作为参考,每家公司项目的具体情况也不一样,还是需要根据实际需求进行调整

    有10位网友表示赞同!

Git分支设计规范
把孤独喂饱

我之前用过其他开发工具,感觉它们的版本控制机制比 Git 要简单得多,为什么大家都这么喜欢使用 Git 呢?

    有6位网友表示赞同!

Git分支设计规范
开心的笨小孩

文档中提到的 "hotfix" 和 "release" 分支的使用场景很明确,对于快速修复bug和发布新版软件非常有帮助。

    有10位网友表示赞同!

Git分支设计规范
该用户已上天

在实际开发过程中,遇到一些特殊情况分支设计可能没办法完全满足规范要求,需要灵活处理这些细节

    有8位网友表示赞同!

Git分支设计规范
爱到伤肺i

个人感觉这篇文章对 Git 分支设计的新手很有帮助,可以快速掌握基本的知识和方法。但是对于经验丰富的开发者来说,可能会显得过于基础了。

    有9位网友表示赞同!

Git分支设计规范
你身上有刺,别扎我

希望以后能加入更多工具的使用建议,比如如何使用 Sourcetree, GitHub 等工具来操作 Git 分支

    有9位网友表示赞同!

Git分支设计规范
我没有爱人i

这篇文档让我对 Git 分支设计有了更系统的认识,将来在项目开发中可以更好地应用这些规范提高效率!

    有20位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/202878.html

(0)
小su's avatar小su
上一篇 2024年9月28日 上午2:33
下一篇 2024年9月28日 上午2:35

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注