授课语音

Git 开发规范

Git 是一种分布式版本控制系统,广泛应用于软件开发中。为确保团队协作高效、代码管理清晰,遵循一定的 Git 开发规范非常重要。以下是常见的 Git 开发规范。

1. 提交信息规范

  • 提交信息格式:每次提交的信息应简洁、清晰,遵循以下格式:

    <类型>(<范围>): <简短描述>
    
    <详细描述>
    

    例如:

    feat(user): add login functionality
    
    - Implement user login API
    - Update user model with password hash field
    

    常用的类型包括:

    • feat:新特性
    • fix:修复 bug
    • docs:文档变更
    • style:代码格式(不影响功能的变动)
    • refactor:代码重构
    • perf:性能优化
    • test:增加测试
    • chore:其他不改变功能的变更
  • 提交信息长度:提交标题应简洁,限制在 50 个字符以内;详细描述应不超过 72 个字符。

  • 详细描述:如果有必要,可以在提交信息的详细描述中提供更详细的说明,描述为什么做这些修改,修改的背景及影响。

2. 分支命名规范

  • 主分支:保持 mainmaster 为主分支,不进行直接开发。所有开发工作都应在其他分支上进行。

  • 开发分支:创建用于开发的分支时,使用如下命名规则:

    • feature/:新功能开发分支
    • bugfix/:修复 bug 的分支
    • hotfix/:紧急修复分支
    • release/:发布版本分支
    • test/:测试分支
    • chore/:小的杂项任务分支

    例如:

    feature/user-authentication
    bugfix/login-error
    hotfix/fix-undefined-error
    
  • 命名规范:分支名称应简洁且有意义,能够清晰表达该分支的功能或目标,避免使用过长的名称。

3. 合并请求(Merge Request)规范

  • 在开发完成后创建合并请求:完成开发后,开发人员应提交合并请求(PR),请求将分支合并到 maindevelop 分支。

  • 描述清晰:合并请求应包含详细的描述,包括:

    • 变更的目的
    • 实现的方法
    • 可能的影响或已知问题
  • 审核规范:合并请求应由其他团队成员进行代码审核。审核时检查:

    • 代码是否符合团队的编码规范
    • 是否有合适的单元测试
    • 是否包含了必要的文档更新

4. 代码提交与合并规范

  • 小而频繁的提交:将大范围的功能或修复拆分成多个小的提交,以便代码审查和调试。

  • 避免在 mainmaster 直接提交:开发时,应避免直接在 mainmaster 分支上进行提交。所有功能开发、修复应在独立的分支上进行,提交前进行本地测试。

  • 在合并时使用“Squash Merge”:将多个提交合并成一个提交,这样能够保持 Git 历史记录的整洁。

5. 版本控制规范

  • 标签(Tag)使用:版本发布时,应该在 Git 中使用标签进行标记,标签命名规范如下:

    • 使用 v 前缀加上版本号(如 v1.0.0)。
    • 遵循语义化版本控制(Semantic Versioning)规范:MAJOR.MINOR.PATCH

    例如:

    git tag v1.0.0
    git push origin v1.0.0
    

6. 代码冲突解决

  • 拉取最新代码:在开始开发之前,务必先从主分支拉取最新代码,以避免与其他开发人员的代码产生冲突。

    例如:

    git checkout main
    git pull origin main
    
  • 解决冲突:在合并时如果遇到代码冲突,开发者需手动解决冲突,确保功能正常后再进行提交。

7. 代码审查规范

  • 自检:在提交合并请求之前,先进行自我检查,确保:

    • 代码符合团队的风格和规范
    • 无多余的调试代码或注释
    • 已进行适当的单元测试
    • 提交信息清晰明了
  • 及时响应审查意见:团队成员在审查合并请求时,应及时给予反馈,开发人员应根据反馈进行必要的修改。

8. Git 工作流

常用的 Git 工作流包括以下几种:

  • Git Flow:适用于有严格发布周期的项目,使用 featuredevelopreleasehotfix 等分支进行管理。

  • GitHub Flow:适用于持续部署的项目,开发者在 main 分支上工作,创建功能分支后进行 Pull Request 提交。

  • GitLab Flow:结合了 Git Flow 和 GitHub Flow,适用于敏捷开发和持续集成的场景。

去1:1私密咨询

系列课程: