• GIT 开发规范


      GIT 是目前用得最多的也是最好用的合作开发工具。记得最开始工作的时候由于 GIT 用的很不熟练导致增加了很多工作量,关于 GIT 的使用教程网上有很多,这里记一下一个完整的使用 GIT 进行合作开发的体系。

    GIT 分支

      合理利用分支的命名可以更高效的进行代码的管理,一个合理的多人开发的项目,分支主要根据场景进行命名。

    主要的分支为:master 、develop (dev)、release 、hotfix(bug)

    • master 分支——为主分支,也是用于部署生产环境的分支,需要确保 master 分支的稳定性。master 分支一般由 develop 以及 hotfix 分支合并,处于安全考虑,任何时间都不能直接修改 master 分支上的代码
    • develop 分支——开发分支,可以简写为 dev 分支。始终保持最新完成以及 bug 修复后的代码。一般开发新功能时,feature 分支都是基于 develop 分支下创建的
    • feature 分支——开发新功能时,以 develop 为基础创建 feature 分支。分支命名:feature/ 功能名, 命名规则:feature/user_module、 feature/cart_module
    • release 分支——为预上线分支,发布提测阶段,release 分支代码为基准提测
    • hotfix 分支——为修复分支,它的命名规则与 feature 分支类似。线上出现紧急问题时,需要及时修复,以 master 分支为基线,创建 hotfix 分支,修复完成后,需要合并到 master 分支和 develop 分支

    完整的流程:

    1. 项目会有一个 master 分支,用于线上运行。dev 分支,用于测试环境运行。
    2. 当有新功能需求时,以 develop 为基础根据需求创建 feature 分支,如增加权限验证:feature/add_auth,开发自测完成后合并入 dev 分支
    3. 进入提测阶段,以 dev 分支为基础创建 release 分支,如果测试过程中若存在 bug 需要修复,则直接由开发者在 release 分支修复并提交。当测试完成之后,合并 release 分支到 develop 分支,合并 develop 分支到 master 分支。此时master为最新代码,用作上线。
    4. 若某时发现系统存在 bug,需要及时修复,以 master 分支为基础创建 hotfix 分支,修复完成后,需要合并到 master 分支和 develop 分支。

    日志规范

      在一个团队协作的项目中,开发人员需要经常提交一些代码去修复 bug 或者实现新的 feature。而项目中的文件和实现什么功能、解决什么问题都会渐渐淡忘,最后需要浪费时间去阅读代码。但是好的日志规范 commit messages 编写有帮助到我们,它也反映了一个开发人员是否是良好的协作者。

    编写良好的 Commit messages 可以达到 3 个重要的目的:

    • 加快 review 的流程

    • 帮助我们编写良好的版本发布日志

    • 让之后的维护者了解代码里出现特定变化和 feature 被添加的原因

    目前,社区有多种 Commit message 的写法规范。来自Angular 规范是目前使用最广的写法,比较合理和系统化。如下图:

    Commit messages的基本语法

      当前业界应用的比较广泛的是 Angular Git Commit Guidelines。

    https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines

     

    具体格式:

    <type>: <subject>
    <BLANK LINE>
    <body>
    <BLANK LINE>
    <footer>

    type: 本次 commit 的类型,诸如 bugfix、 docs、 style 等

    scope: 本次 commit 波及的范围

    subject: 简明扼要的阐述下本次 commit 的主旨,在原文中特意强调了几点:

    1. 使用祈使句

    2. 首字母不要大写

    3. 结尾无需添加标点

    body: 同样使用祈使句,在主体内容中我们需要把本次 commit 详细的描述一下,比如此次变更的动机,如需换行,则使用 |

    footer: 描述下与之关联的 issue 或 break change

    # 标题行:50个字符以内,描述主要变更内容
    #
    # 主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括:
    #
    # * 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
    # * 他如何解决这个问题? 具体描述解决问题的步骤
    # * 是否存在副作用、风险?
    #
    # 如果需要的化可以添加一个链接到issue地址或者其它文档
    范例

    Type的类别说明:

    • feat: 添加新特性
    • fix: 修复bug
    • docs: 仅仅修改了文档
    • style: 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑
    • refactor: 代码重构,没有加新功能或者修复bug
    • perf: 增加代码进行性能测试
    • test: 增加测试用例
    • chore: 改变构建流程、或者增加依赖库、工具等

    参考:https://mp.weixin.qq.com/s?__biz=MzAwMjk5Mjk3Mw==&mid=2247492770&idx=2&sn=cdb1c71a58f00dbdfe8950c2d7e6ca09

                 

  • 相关阅读:
    二叉搜索树的后序遍历序列
    验证二叉搜索树
    合并二叉树
    工龄计算方案
    hadoop集群中动态添加节点
    java知识点
    Hadoop经典案例(排序&Join&topk&小文件合并)
    mysql学习
    大数据开发面试
    我保存的网址
  • 原文地址:https://www.cnblogs.com/zhuminghui/p/14340636.html
Copyright © 2020-2023  润新知