git代码提交流程

代码提交到哪里去了

git

What: Git分布式版本控制系统

Why:

  • 版本控制,记录每次改动,可以多人操作,使源代码的发布和交流极其方便
  • 分布式,克隆某个节点的内容,就可以成为一个独立的版本库,并在此基础上可以自行开发

How:
git init/git clone --> git add --> git commit --> git push 之后,你的代码会被直接提交到代码仓库

代码怎么被别人review

gerrit

Gerrit是一个开源的code review(代码审核)系统,使用版本控制系统Git作为底层。

  • 基于Web的服务
  • gerrit的特点在于不允许直接将本地修改同步到远程仓库。必须先push到gerrit服务器上,等待审核(review)。
  • 注意,一是必须生成Change-Id, 另一个是依赖于refs/for/*的分支

想跑code检查和UT

Jenkins

Jenkins是一款开源工具,主要用于持续集成开发,侧重于代码质量保证。

  • 可扩展性
  • 页面一键配置
  • 自动化检查,例如code检查, 单元测试
  • 报告易读, 视图化

一条完整的代码提交链

commit

用户提交代码 -> 提交到Gerrit库 -> 触发Jenkins自动测试,测试通过Verified +1
-> 人工审核Review,review通过+2 -> Gerrit执行Replication -> push Git repo

工具比较

CVS

  • 开启版本控制之门
  • 早期的主流源代码管理工具

SVN

  • 全称是Subversion,集中式版本控制之王
  • 是CVS的接班人,速度比CVS快,功能比CVS多且强大
  • 在国内软件企业中使用最为普遍

Git

  • 优秀的分布式版本控制管理工具
  • 目前被越来越多的开源项目使用
  • 在国内企业尚未大范围普及

目前公司代码控制路线:

  1. Git + Gerrit
  2. SVN + Review Board

术语

  • Git, SVN, CVS : 版本控制系统
  • Gerrit, Review Board:代码检视工具
  • Gitlib:是用于实现Git功能的开发库
  • Gitweb: Git的可视化web 界面, 源码是在git里面的
  • Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放
  • Gitlab:是一个基于Git实现的在线代码仓库托管软件,可以用gitlab搭建一个类似于* Github一样的代码管理工具

你可能感兴趣的:(git代码提交流程)