Git、Repo、Gerrit、Jenkins
1.Git是一个分布式的版本控制系统。
2.使用Git:建立一个空目录,从远程服务器上同步一个或多个项目的内容到本地。
每个工作目录中都是一个项目的完全拷贝,带有全部的版本历史信息。
查看变化和做提交的时候是不需要联网的。
3.特点:速度;简单的设计;对非线性开发模式的强力支持(允许上千个并行开发的分支);完全分布式;有能力高效管理类似Linux 内核一样的超大规模项目(速度和数据量);直接快照,而非比较差异;近乎所有操作都可本地执行,在本地磁盘上保存着所有有关当前项目的历史更新;时刻保持数据完整性,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引;多数操作仅添加数据,常用的Git 操作大多仅仅是把数据添加到数据库。
4.已提交(committed) 本地数据目录
已修改(modified) 工作目录
已暂存(staged) 暂存区域
5.Git分支:不同的开发版本,共享共同的历史,总是从备份开始,然后发展自己的历史。
指向提交的可变指针,指向父节点。主分支Master。
每个提交都可以建立分支,分支建立和销毁的开销很小
Git中分支的作用:备份;解决并行开发问题;避免影响其他人的工作。
6.Google开发了repo,用来管理大量的git,原理就是基于一个列表循环操作。
l(包含在manifest库里)是repo的配置文件。
7.Gerrit:代码审核系统,利用git的branch和merge机制。
具有强制性:除非特别的授权;向 Git 版本库的推送(Push)必须要经过 Gerrit 服务器;修订必须经过代码审核流程才可以经批准纳入正式代码中。
8.Push:开发者提交代码至Gerrit服务器
如何搭建git服务器Code Review:看代码,确定是否合理,合理则给这提交 +2(打+2分)
Verify:应用代码,确认是否能正确执行,可以执行进行Verify+1
Submit Patch:与已发布版本合并,成功后合并到master分支
Rollback:以上每个步骤都可能失败,并进行相应的流程回退
9.Jenkins:一个持续集成工具,一个运行任务的平台;能实施编译、监控集成中存在的错误;
提供详细的日志文件和提醒功能;能用图表形象地展示项目构建的趋势和稳定性。
Jenkins可以监控进入Gerrit的提交。
结合我们编写的任务。
可以对每次提交进行验证编译。
可以根据编译结果对Gerrit进行自动设置
Verify +1/-1
review +1/-1 +2/-2。
可以检查代码格式。
可以检查git log格式。
可以把编译生成物上传到FTP服务器。
可以自动把编译信息/错误日志发邮件给提交者。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论