一、原则

1、在维护公共基类、工具类和二方库等可能影响到其他团队成员的代码之前,必须同其他团队成员讨论,达成共识后方可进行维护。

2、严格遵守源码签入规范,有助于发现代码漏洞,降低代码合并风险,降低远程仓库代码的出错概率,请务必细心、审慎,不要因为时间紧就跳过流程步骤。在保证质量的前提下,进度才有意义。

二、六步提交法

1、开始编码前,从远程仓库pull最近成功构建的代码(有助于减少代码合并冲突)。

2、编写功能代码和对应的单元测试(若无特殊情况工具类和二方库必写单元测试,业务代码可自行判断)。

3、本地构建

1)编译代码、执行本次commit对应的单元测试、运行代码,确保单元测试通过,程序运行正常,功能满足需求;

2)检查代码是否符合编码规范(建议使用静态代码检查工具自动检查);

3)执行commit预操作,逐行比对每个改动点,检查代码逻辑是否符合编码意图,注释是否遗漏;

4)填写commit信息,注意写明分支名称,本次提交关联的任务或者Bug编号;若有多个内容,应分点说明。建议完成独立的任务或者修复Bug就commit,尽量避免一个任务多次commit或者一次commit中包含多个任务。

提交信息样例1:

develop_3.0:1、[TASK QZA-339]Tyson WS Clinet 接入;2、jserver-parent增加ws client依赖包;

提交信息样例2:

master:1、[BUG QZA-433]足球-重要Tab增加本地缓存;

5)确认commit;

4、二次构建

1)从远程仓库pull最新代码到本地;若没有代码更新,可跳过步骤4;

2)若出现冲突,需谨慎合并代码;若不理解冲突代码,可叫上代码作者一起合并;

3)编译代码、执行本次commit对应的单元测试、运行代码,确保单元测试通过,程序运行正常,功能满足需求;

4)再次commit,比对改动点,填写commit信息;

5、push代码。

6、提交代码自动化构建(若有)

1)自动化工具监听代码提交,自动构建代码,执行单元测试,若构建失败或者单元测试执行失败,发消息通知团队;

2)依据“立即暂停原则”团队收到失败通知后,暂停新代码push,也不允许pull代码,直到接收到构建成功通知;问题代码作者需立即解决问题,重新提交。

源代码提交SOP(Git版)相关推荐

  1. 查看提交历史 —— Git 学习笔记 11

    查看提交历史 查看提交历史 不带任何选项的git log -p选项 --stat 选项 --pretty=oneline选项 --pretty=format选项 git log常用选项列表 参考资料 ...

  2. 源代码管理工具-GIT

    源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...

  3. 如何将当前更改提交到git中的不同分支[重复]

    本文翻译自:How to commit my current changes to a different branch in git [duplicate] This question alread ...

  4. 如何查看仅一个用户提交的git日志?

    使用git log ,如何按用户筛选,以便仅看到该用户的提交? #1楼 您甚至可以简单地使用一部分用户名来缩写一下: git log --author=mr #if you're looking fo ...

  5. 【Git】Git 版本管理 ( 补充提交版本 git commit --amend | 版本库提取文件 git checkout -- filename | 删除文件 git rm )

    文章目录 一.补充提交版本 git commit --amend 二.版本库提取文件 git checkout -- filename 三.删除文件 git rm 一.补充提交版本 git commi ...

  6. 【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

    文章目录 一.查看提交记录 git log 1.查看详细提交记录 2.查看简略提交记录 二.版本回滚 git reset 1.Git 中的版本表示 HEAD~1 2.版本库代码回滚 三.撤销回滚 1. ...

  7. 1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题

    1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfold ...

  8. Spring Cloud Config git版

    由于在学习这块内容的时候还不会使用gitHub所以就用了osc的码云 config server POM文件 <dependency><groupId>org.springfr ...

  9. Git-如何将已存在的项目提交到git

    1.首先在码云或者github上创建一个不带README.md的项目,然后复制远程库的地址(下面以码云为例): 2.进入本地已存在的项目目录:house  touch README.md //新建说明 ...

最新文章

  1. 第四节 莎士比亚模板
  2. 多浏览器 div 半透明
  3. 新的GNSS精度度量是怎样定义的?
  4. 回调函数之Java/C++版本
  5. 初中参观机器人博物馆的作文_展馆导览机器人好不好用?小笨展馆机器人案例...
  6. html收款页面模板,订单收款.html
  7. 动态修改实体类转json的属性名
  8. MFC 设置应用程序开机启动并设置运行路径
  9. 小菜编程成长记(一 面试受挫——代码无错就是好?)
  10. python wx包_python的wxpython包
  11. 前端加密使用AES与后端配合(ECB)
  12. Linux双系统安装指南
  13. 用 WP7开发包 安装 WP7程序(XAP文件)
  14. 中控考勤机管理员破解/清除/密码/恢复出厂设置方法
  15. springboot简历制作
  16. Copy-on-Write模式:写时复制
  17. Unity 本地化比较实用的实现方案
  18. 三星note3smn9005怎么放SIM卡
  19. Chrome浏览器访问站点浏览器提示不安全解决方案
  20. PADS VX2.8 敷铜自动倒角的使用方法

热门文章

  1. asp.net 检测访问者是iphone,android,web(摘录)
  2. WSUS服务器的建立以及客户端发布
  3. 修改PATH导致fedora无法登录XWindow
  4. poj3685 二分套二分
  5. jQuery banner切换插件
  6. shell编程的一些例子4
  7. Unity中Time.deltaTime的含义及其应用
  8. A - A Secret -扩展KMP
  9. 怎样用原生js配合css的transition写个无缝滚动
  10. 12款白帽子用于黑客渗透测试的操作系统