当前位置: 首页 > news >正文

团队开发者git仓库工作手册

团队开发者git仓库工作手册

本文因为学校软件工程课程需要团队合作,所以就涉及到多人维护gitee仓库,作为整个小组的组长,需要制作整个工作流程的一个具体指南和规则,所以有了本文。

具体的git工作流程在git工作流程-CSDN博客中。

1. 分支说明

我们的远程仓库设置有三个主分支:

  • master 分支:稳定版本,用于正式发布环境,只能通过合并 release 分支更新
  • develop 分支:最新开发版本,开发人员基于此分支进行持续开发
  • release 分支:测试版本,测试人员基于 develop 分支创建

2. 开发流程

2.1 功能开发分支规范

我们规定,开发者每次开发一个新功能,需要在远程仓库中以develop分支为起点创建一个新分支,新分支的命名规则如下:

分支命名规则feature/username_yyyyMMdd_feature-name

示例:

feature/zhangsan_20241021_user-login
feature/lisi_20241022_payment-integration

操作步骤:(具体操作看文章开头的链接)

# 1. 从 develop 分支创建并切换到新分支
git checkout -b feature/zhangsan_20241021_user-login origin/develop# 2. 推送分支到远程仓库并建立关联
git push -u origin feature/zhangsan_20241021_user-login# 3. 日常开发提交
git add .
git commit -m "feat: 实现用户登录功能"
git push

注意:当创建的新分支已经完成其相应的任务后,或者新分支已经无用时,就尽快的将其删除掉。

2.2 提交信息规范

使用约定式提交格式:(也就是你commit的时候信息规范)

  • feat: 新功能
  • fix: 修复问题
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 重构代码
  • test: 测试相关
  • chore: 构建过程或辅助工具变动

示例:

feat: 新增用户登录功能
fix: 修复登录页面的验证码错误
docs: 更新 API 接口文档
具体用法:

基本格式:

<type>: <description>

示例:

git commit -m "feat: 添加用户注册功能"
git commit -m "fix: 修复登录页面样式错位问题"
git commit -m "docs: 更新项目安装说明"
git commit -m "refactor: 重构用户服务类结构"

详细格式(可选):

<type>(<scope>): <description><body><footer>

示例:

git commit -m "feat(auth): 实现微信登录功能- 集成微信开放平台SDK
- 添加登录回调处理
- 完善错误处理机制Closes #123"

应用建议:

# 推荐做法:
git commit -m "feat: 实现购物车添加商品功能"
git commit -m "fix: 修复订单金额计算错误"# 不推荐做法:
git commit -m "更新代码"
git commit -m "修复bug"
git commit -m "又改了一点"

3. 合并流程

总结:

开发人员觉得可以进行合并的时候,本人建议:

  1. 为了防止在你合并之前,develop分支已经有人修改了,你合并可能会发生冲突,所以我建议你先把远程仓库中的develop分支中的内容进行拉取,然后在本地仓库中,将develop分支中的内容合并到你创建的新分支中。
    • 如果有冲突内容,就现在你的分支处理好。
      • 如果冲突内容你一个人无法解决,则联系相应的开发人员,两个人联系并处理好冲突内容。
  2. 完成上一步后,就是将你创建的feature分支合并到远程仓库中的develop分支中:
    1. 先在gitee新建一个PullRequest,在PullRequest中说清楚:你做了什么事情?做这件事情的目的是什么?然后详细描述你具体干了什么,比如:
      • 新建文件:新建的这个文件是干什么用的?这个文件里是什么功能?实现的具体的思路是什么?
      • 修改文件:修改了文件什么地方?为什么要修改?修改前后的区别是什么?思路是什么?
      • 删除文件:删除了什么文件?为什么要删除这个文件?
    2. 当开发人员提交PullRequest后,管理人员需要在1天时间内审查完成,并完成合并,如果有问题,立刻和提交PullRequest的人员交流并处理。

下面是详细流程:

3.1 预合并准备

在发起 Pull Request 前:(我还没完全写完)

# 1. 拉取最新的 develop 分支
git fetch origin
git checkout develop
git pull origin develop# 2. 切换回功能分支并合并 develop
git checkout feature/zhangsan_20241021_user-login
git merge develop# 3. 解决可能的冲突,测试功能正常
# 4. 推送更新后的分支
git push

3.2 Pull Request 流程

PR 标题格式【类型】功能描述 - 提交人

示例:【功能】用户登录模块 - 张三

PR 描述模板

## 变更类型
- [ ] 新增功能
- [ ] 修复问题
- [ ] 优化调整
- [ ] 其他## 功能描述
(简要说明这个 PR 的目的)## 修改内容
- 新增文件:xxx(说明用途和功能)
- 修改文件:xxx(说明修改原因和前后区别)
- 删除文件:xxx(说明删除原因)## 实现思路
(描述具体的实现方案和技术选择)## 测试情况
- [ ] 已自测
- [ ] 影响范围评估
- [ ] 测试结果:(简要说明)## 关联事项
(关联的需求或问题编号)

3.3 代码审查要求

审查人需在 1 个工作日内 完成审查,关注:

  • 代码风格统一性
  • 逻辑正确性
  • 是否包含调试代码或敏感信息
  • 必要的文档更新
  • 测试覆盖情况

4. 测试与发布流程

4.1 测试分支管理

分支命名规则release/version_publishTime

示例:

release/v1.1.0_20241025
release/v1.2.0_20241108

版本号规范(语义化版本):

  • v1.0.0:正式发布版本
  • v1.1.0:小版本(新增功能)
  • v1.1.1:补丁版本(修复问题)

发布周期

  • 每周发布小版本
  • 每两周发布大版本

4.2 测试流程

  1. 测试负责人基于 develop 分支创建 release 分支
  2. 在 release 分支上进行测试
  3. 发现的问题在 release 分支上直接修复,或由开发人员创建分支修复
  4. 测试完成后,release 分支合并到 master 和 develop
    1. 小版本合并到develop分支
    2. 大版本合并到master分支

5. 紧急修复流程

分支命名规则hotfix/username_yyyyMMdd_issue

示例:hotfix/zhangsan_20241021_login-bug

操作流程

  1. 基于 master 分支创建 hotfix 分支
  2. 紧急修复问题
  3. 测试验证
  4. 合并到 master 和 develop 分支
  5. 打上版本标签

6. 团队协作规范

6.1 冲突解决

  • 合并前必须解决所有冲突
  • 复杂冲突需与相关开发人员共同解决
  • 禁止强制推送主分支

6.2 代码审查责任

  • 提交人:确保代码质量,提供清晰的 PR 描述
  • 审查人:及时审查,提供建设性反馈
  • 项目经理:协调资源,确保流程顺畅

6.3 沟通机制

  • 每日站会同步进度
  • PR 中的问题及时在团队群内沟通
  • 重大架构变更需团队讨论

7. 常用命令参考

# 查看分支情况
git branch -av# 查看远程分支
git branch -r# 删除已合并的本地分支
git branch --merged | grep feature | xargs git branch -d# 删除远程分支(谨慎使用)
git push origin --delete feature/branch-name

http://www.dtcms.com/a/593991.html

相关文章:

  • 欧美风网站建设seo品牌优化整站优化
  • 2.8 模型压缩与优化技术
  • 数字孪生工厂浪潮来袭,众趣科技以实景智能筑牢智造基石
  • [設計模式]二十三種設計模式
  • 有视频接口怎么做网站哪个行业最需要做网站
  • 解锁AI工作流的终极密码:Semantic Kernel Process框架深度技术解析
  • 从0到1:Makefile自动化编译实战全解析
  • 广州网站推广教程中国建设银行网站会员用户名
  • 怎么做分享软件的网站php网站开发框架搭建
  • 网站跟网页的区别jsp做的网页是网站吗
  • 根据docker服务保存日志脚本,时间可选版本
  • 九、神经网络的构建方式详解
  • 第五章 神经网络
  • 网站建设相关的工作鸿顺里网站建设公司
  • 自己做网站卖手机网站建设电话
  • TypeScript 元组
  • LLM - 大模型融合 LangChain 与 OpenRouter 的框架
  • 南宁建企业网站公司办公室装修设计怎么收费
  • 天气形势时间层的选择策略
  • 一站式网站建设多少钱网站怎么会k
  • JAVA实现国密算法SM2/SM3/SM4签名与验签(基于 BouncyCastle)
  • 专门做继电器的网站如何用源码建站
  • ZSAR报错解决
  • CE(Linux的例行性工作)
  • Django中的clean()方法和full_clean()方法
  • 外贸网站怎么注册商城网站开发视频
  • GIT修改用户名
  • 国内最大的摄影网站wordpress大图简约主题
  • hf中transformers库中generate的greedy_search
  • 网站建设优化安徽自己设计logo的软件