首页 > 代码库 > gerrit简版教程
gerrit简版教程
1.开通gerrit账号,然后登陆进去。
2.访问地址:http://gerrit.dev.xxxxxx.com
3.要clone一个项目? 先别着急,先设置一下Public Key,后期就不用密码登陆啦!
生成SSH密钥过程: 1.查看是否已经有了ssh密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除 2.生存密钥: $ ssh-keygen 最后得到了两个文件:id_rsa和id_rsa.pub 3. 把id_rsa.pub里面的内容都贴入到:gerrit的主界面,右上角,设置-》ssh public key这个菜单-》ADD key 即可
4.现在开始clone测试项目 : git clone ssh://xxxxx@gerrit.dev.xxxx.com:22222/test.git
5.把hook这个项目里面的.git/hook下面
6.开始简单修改,提交,然后到gerrit上面看看有没有自己的提交记录~
本机分支管理
开发的代码永远在本机切换新的分支进行新的业务开发,master上的代码坚决不动(只让master保持跟跟服务器master上的同步,能省去很多不必要的问题): git checkout master git pull #拉远端最新版本代码到本机 git checkout -b dev #假设你要创建一个叫dev的分支进行开发 git rebase master #合并远端最新代码到开发的分支(常见是在gerrit后台review后merge时发生冲突后需要本机rebase后再次追加提交) #如果有冲突(rebase后会有提示),手动解决冲突后,进行以下操作 git add -A git rebase - -continue #本地代码已经可以提交到gerrit,执行以下push操作,(注意不能直接像以前那样push到远端的master上,而是一个特殊的gerrit分支) git push origin HEAD:refs/for/master
流程规范
1.分支管理规范
本机master上的代码坚决不动,开发的代码永远在本机切换新的分支进行新的业务开发(只让master保持跟服务器master上的同步,能省去很多不必要的问题)。下面是一个正常情况下的栗子 git checkout master git pull #拉远端最新版本代码到本机 git checkout -b dev #假设你要创建一个叫dev的分支进行开发 git rebase master #合并远端最新代码到开发的分支(常见是在gerrit后台review后merge时发生冲突后需要本机rebase后再次追加提交) #如果有冲突(rebase后会有提示),手动解决冲突后,进行以下操作 git add -A git rebase - -continue #本地代码已经可以提交到gerrit,执行以下push操作,(注意不能直接像以前那样push到远端的master上,而是一个特殊的gerrit分支) git push origin HEAD:refs/for/master
如果你在master上status出现了以下情况: (master) git status On branch master Your branch is ahead of ‘origin/master‘ by 2 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean? 出现这个说明没有严格按照以上规范,这时需要通过git reset 进行回滚后再pull(回滚前确保这上面的代码再gerrit上已有,已有的分支可以checkout下来继续在个人分支上继续开发)
2.commit规范
a.多个开发任务并行时,不要都提交在一个commit里(相互有依赖的可以) b.需要在gerrit中同时维护多个未merge的分支(同时提交多个commit,或者上一个提交因为一些原因还没有merge又需要再提交一个新的),对于每个分支均从master上checkout一个新的分支进行开发,不在一个开发分支里commit多个,这样能最大程度避免依赖。避免出现你的后提交的代码需要上线,但所依赖的代码还不能merge的情况。 c.提交的subject规范:1.格式:“关键字 正文” 2.关键字,固定以下几个(如有新的需要定义找CTO协商):added(新增,简写add)、fixed(修复,简写fix)、changed(修改原来的业务逻辑,简写change或cg)、upgraded(优化或组件升级,简写upgrade或up) 3.正文:解释是什么和为什么的 。例如:“cg 同步数据接口增加几个表单项”,“fix 同步数据接口缺乏必要校验”
3.所有提交必须review代码再入库
我们使用gerrit的最大的好处,就在与可以review代码,可以看到我们本次提交所涉及的改动,对比老代码能更容易发现本次改动的疏漏或bug。 因此提出建议规范:自己的代码无论改动多少,+2前必须先给指定人review+1(组员的代码给组长review,组长的代码自己指定组内他人review)。自己review可以在研发过程中的任何时候,不一定要等到开发完了再review。
gerrit简版教程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。