集成式代码管理git+gerrit

一、基础知识

git用于代码版本管理,开源的分布式版本控制系统。

1、一般公司采用服务器+客服端的形式,每个客服端都有一份project的完整代码克隆,能够方便的完成协同开发及版本管理;

2、绝大部分操作都是本地执行,速度快;

3、git中只有三种状态committed、modified、staged;

4、git的工作流程(1)在工作目录修改某些文件;(2)对修改的文件做快照,并保存到暂存区;(3)提交更新,将暂存区的快照转存在git目录

二、客服端操作流程

1、安装git+TortoiseGit

2、生成公钥

$ ssh-keygen -t rsa

3、网页登入Gerrit服务器,add公钥

4、查看公钥是否生效

$ ssh -p 29418 10.1.11.33

5、配置用户信息

$ git config --user.name "XXXX"
$ git config --user.email

6、查看自己具备的权限project

$ ssh -p 29418 10.1.11.33 gerrit ls-projects

7、clone有权限的project

$ git clone ssh://zhoumin1@10.1.11.98:29418/YY8888/device/qcom/mpq8064

8、获取钩子脚本

$ scp -P 29418 -p 10.1.11.98:/hooks/commit-msg .git/hooks/

8、新建本地分支跟踪project主分支

$ git checkout YY8888_4.1_Int_zm_zm YY8888_4.1_Int

8、操作工作目录下的文件,包括修改,增加,删除等操作

9、在完成8操作之后可以使用命令查看当前状态

$ git status

10、将工作目录下修改的文件add至暂存区stage

$ git add XXX

11、提交至本地代码库

$ git commit -s -m " "

12、push至Gerrit服务器project下debug分支

$ git push origin HEAD:XXX_Debug_Dev

13、push到主线分支

$ git push origin HEAD:XXX_Int

(PS:在push到主线分支时一般需要以下步骤:

(1)$ git log 获取修改记录

(2)$ git remote update 更新远程数据

(3)$ git checkout -b test_zm_zm remotes/origin/YY8888_4.1_Int 新建本地分支跟踪主分支

(4)$ git cherry-pick c3622782e7253246fc3e265682d515239b6c1a31 pick需要push的change id

(5)$ git push origin HEAD:refs/for/YY8888_4.1_Int)

 

posted @ 2014-11-10 22:11  小水同学  阅读(292)  评论(0编辑  收藏  举报