[T.4]团队项目:团队代码管理
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2025年春季软件工程(罗杰、任健) (北京航空航天大学 - 计算机学院) |
| 这个作业的要求在哪里 | [T.4] 团队项目:团队代码管理准备 |
| 我在这个课程的目标是 | 掌握更多技术,在实践中提升自身能力 |
| 这个作业在哪个具体方面帮助我实现目标 | 熟悉git操作,熟悉软件开发相关规范 |
一、基本信息
- 团队的代码仓库地址
https://github.com/coder0xe/2025_Spring_SE_TeamVersionControl
- 团队完成 Task. HotFix! 后新建的代码仓库地址
https://github.com/coder0xe/2025_Spring_SE_TeamVersionControl_new
- 代码仓库的分支图示
- 需要说明的状况:
本次任务的🚩Team任务是我们组员分配来完成的。🚧Maintenance任务主要是由我们PM完成的。
二、代码管理
-
团队选定的 DevOps 技术选型以及选择的原因、使用相关技术的方式
1、版本控制系统:Git
团队使用Git管理所有源代码,代码托管在github上。开发者通过Git进行代码提交、分支创建、合并和拉取操作。
2、代码审查工具:GitHub Pull Requests
开发者通过提交Pull Requests请求代码审查。管理员或同事可以在提交代码之前进行检查,确保代码质量符合团队标准。PM进行审查后再提交部署测试
3、沟通平台:微信群,飞书
团队主要通过微信群和飞书进行实时沟通。定期召开会议,明确项目进度和任务分配。任务分配后,各小组成员会在小范围内进一步细化讨论,确保每个环节的沟通无障碍,及时解决问题。
-
团队对代码仓库的管理:
1、由PM在统一代码仓库里创建空白的仓库,并clone到本地,初始化仓库,并push到远端。
2、在统一代码仓库上设置保护分支,把master、develop分支保护起来,只有开发管理员可push。
3、功能开发者clone代码到本地,然后再开始新建功能分支,进行开发工作。
5、新功能开发全部完成或部分完成后,功能开发者把最新代码push到远端同样的新功能分支里,并在统一代码仓库发起Merge request给PM。
6、开发管理员review代码,选择合并代码到develop分支,并可选择删除已经合并的新功能分支。
7、当开发管理员处理完合并请求后,功能开发者切换到develop分支,直接删除自己的本地分支及远程分支,此时开发者pull远端develop分支最新代码即可,可忽视本地的push提醒。
8、release、hotfix分支和feature分支操作类似。
9、不可点击完成新功能、完成发布版本、完成修复补丁,因为这样会导致自动合并代码到master或develop分支。 -
在代码管理中,团队会遇到哪些风险,如何解决这些风险;
1、分支合并冲突
解决方案:每日同步develop分支+小颗粒度提交
2、代码质量滑坡
解决方案:PM在审查pull request时进行代码审查
3、权限管理混乱
解决方案:权限分级:
- 管理员:合并master分支
- 开发者:仅操作feature分支4、代码审查效率低
解决方案:每日及时处理PR
三、团队实践总结与心得
-
明确团队版本管理系统协作规范
1、流程规范
分支策略:
master分支只能合并不能直接改,feature/xxx分支开发新功能。提交规范:Commit 信息要写清模块和改动,例如
[user] 修复登录接口空指针,禁止“修复bug”这种模糊描述。2、团队协作文化
每周例会:每周至少开一次会同步进度。
代码诊所:每周讨论一些在开发中遇到的一些问题,对后续工作进行动态调整。
3、权限管理
权限分级:管理员:合并主分支;开发者:只能操作自己的功能分支。
操作日志:每周导出操作记录,防止误删分支。
-
团队成员git操作的理解加深
新功能开发 git checkout -b feature/xxx 基于develop分支创建 紧急修复 git checkout -b hotfix/xxx 基于master分支创建 合并分支 git merge --no-ff 保留合并记录 撤销本地提交 git reset HEAD~1 仅限未push的提交

浙公网安备 33010602011771号