文档库 最新最全的文档下载
当前位置:文档库 › git、gerrit的使用方法和规范方案

git、gerrit的使用方法和规范方案

git、gerrit的使用方法和规范方案
git、gerrit的使用方法和规范方案

git、gerrit的使用方法和规范

1、新员工git安装环境准备

首先从服务器端

ftp://192.168.31.10/Software/Tool/Git/

(用户名/密码 paypalm/paypalms)获取软件Git-1.9.4-preview20140929 1、默认安装

Git-1.9.4-preview20140929

安装完成后打开git bash编辑器

生成密钥对:ssh-keygen -t rsa 按三次回车键,默认生成路径如下图

将生成的公钥内容在gerrit中进行添加(参考下文gerrit注册使用)每个人不同环境可以添加多个对应的公钥cat ~/.ssh/id_rsa.pub

2、gerrit注册使用

1、申请账号

通过邮件向PPCM@https://www.wendangku.net/doc/171204495.html,发邮件申请,打开gerrit网站

(http://192.168.31.10:8088),登录后在右上角进行setting设置

2、公钥添加

点击SSH Public Keys》Add Key选项进行公钥添加

3、邮箱注册

点击Register New Email 进行邮箱注册,注册后有邮件发送至你的邮箱点开链接重新登录

3、gerrit主要功能介绍

1、常规功能

1、登录gerrit》ALL》open状态,此显示为已推送但还没有入库的所有patch,CR状态栏中绿色对勾代表已评审状态,可以根据计划入库

2、gerrit》ALL》Merged状态表示所有已经进入项目库的patch

3、提交patch后,开发人员可能觉得不太满意会选择放弃,gerrit》ALL》Abandoned 即为已放弃的patch,只有还没有入库的patch才能选择放弃,点击进入patch,橘黄色Abandon即为放弃选项,放弃后的patch依然可以进行还原,如以下操作

橘黄色Restore为还原选项

4、gerrit》Projects》List状态表示服务器端所有项目列表

5、gerrit》People》List Groups状态表示所有组列表

2、评审功能

1、点击进入待评审的patch,点击add添加Reviews人员进行评审

评审人员点击Reply进行评审打分,每一个需要入库的patch必须具备两分+2方可,1分表示自己同意,2分表示完全同意,负分表示不支持此代码入库

2、gerrit》My》Changes状态为需要自己给别人进行评审的状态

4、git命令使用

1、账户名和邮箱设置查看

1)、每一个工作环境首先配置在gerrit中注册的账户名和邮箱,请确保一致# git config --global https://www.wendangku.net/doc/171204495.html, “your-account”

# git config --global user.email “your-email”

# git config -l

2、项目库clone

根据gerrit项目列表,查看项目下载地址,选择clone with commit-msg hook&&ssh 选项,请确保正确方式进行项目库下载

git clone ssh://your-accout@192.168.31.10:29418/Test

3、提交注意事项

每一个新clone的库第一次提交都需要执行以下步骤(下载服务端钩子到本地库,以便提交评审形成chang-id)

scp -p -P 29418 your-account-name @192.168.31.10:hooks/commit-

msg .git/hooks/

git config remote.origin.push refs/heads/*:refs/for/*

当执行完以上步骤,第一次git push依然会产生missing Change-Id错误,

用git commit --amend命令把错误信息中的changed id进行添加,如下图

本地工作库中,以最后一次成功push为节点,如果超过两条commit信息也会产生此

错误

合并多条commit为一条记录,可以用git reset 后跟要回退到最新push成功的版本号,整合多条记录为一条

如产生uppack error和changed closed,建议保存工作库中修改文件,并进行强制回退、重新同步最新代码,以修复工作库index。

git reset –hard xxx

同步项目代码的时候会产生冲突

首先可以先隐藏本地修改的

git stash

同步代码

git pull

恢复刚被隐藏的修改

git stash pop

有冲突进行修改编辑,并进行添加(add)到暂存区后,进行项目开发

4、git具体命令解析

从远端服务器获取本地分支最新版本,任何时候进行开发,请确保工作库为最新状态,这样才能避免与其他开发人员进行冲突

git pull

添加文件或修改文件后将文件添加到暂存区

git add file-name

删除文件后将文件添加到暂存区(整个文件夹删除添加-r参数)

git rm file-name

提交所有暂存区修改到本地库,必须添加提交日志作为以后参考

git commit -m “commit massage”

补提交(当一个patch已经push到gerrit但还没有merged,可以进行不提交修改commit massage信息)

git commit –amend 进行编辑

查看当前本地和服务端所有分支,*号代表当前工作分支

git branch–a

随时查看工作库状态

git status(添加参数–s为精简模式)

修改后差异输出

git diff

提交日志随时查询

git log

将本地最新分支推送到gerrit准备评审

git push origin HEAD:refs/for/xxx (xxx代表分支名)

清理工作库空间,删除不受控的所有文件

git clean –df

基于当前分支的本地最新状态新建并切换本地分支

git checkout -b new_branch

合并分支(将target_branch合并到本地):

git merge target_branch

重整分支版本或合并多条提交记录为一条

git rebase base_branch

重置命令是git最常用的命令,也是最危险最容易误用的命令,使用如下图

git reset xxx (回退log至某个commit值,但是期间的修改得到保留,增加参数—hard回退所有记录和修改文件)

5、TortoiseGit客户端使用简介

从ftp://192.168.31.10/Software/Tool/Git/

(用户名/密码 paypalm/paypalms)获取软件TortoiseGit安装包和汉化包

1、安装设置

默认安装后,使用跟svn客户端相类似,在本地点击右键TortoiseGit》setting

设置为中文界面

修改git网络设置的ssh客户端链接为下图,不然以后会git push 会失败

然后用的puttygen进行私钥的格式转换,也可以用工具直接打开,选择load进行加载私钥,成功后save private key,

确定生成。

2、Git clone项目库

相关文档