1、向管理员申请gerrit账户
一般为公司指定的个人邮箱。
2、服务器名以及地址
3、配置.gitconfig信息
Linux 的.gitconfig 在 Home 目录下。
email:你的公司邮箱
name:cm给你分配的用户名
editor:提交massage时用的编辑器
ui:高亮显示
alias:一些短引用,比如git branch,可以直接写git br
url(2处):要替换为自己用户名,下例为ssh://hp@192.168.8.74:29418/,替换hp为上面name节点的名称,
比如范建华的可为:ssh://fjh@192.168.8.74:29418/
insteadOf:勿修改
- huangpeng@ubuntu:~$ cat .gitconfig
- [user]
- email = hp@hpplay.cn
- name = hp
- [core]
- editor = vim
- [color]
- ui = auto
- [alias]
- st = status
- br = branch
- co = checkout
- ci = commit
- [url "ssh://hp@192.168.8.74:29418/"]
- insteadOf = "gerrit:"
- [url "ssh://hp@192.168.8.74:29418/opensource/git-repo"]
- InsteadOf=https://gerrit.googlesource.com/git-repo
- 复制代码
4、登录并注册
4.1 用步骤1申请的账户名和密码登录
4.2 跳转到注册页面
4.3 注册邮箱
4.4 收到邮件,【拷贝】链接到浏览器
4.5 完成注册
5、配置SSH Public Keys
5.1 Linux/Ubuntu/gitbash
5.1.1 生成key,输入
- ssh-keygen -t rsa -C fjh@hpplay.cn
- cat ~/.ssh/id_rsa.pub
- 复制代码
过程中会要求输入密码,为了方便的话,可以不设置密码,直接回车即可
5.1.2 把~/.ssh/id_rsa.pub的内容copy到gerrit里面,add
5.1.3 结果如下
5.1.4 配置账户
- git config --global user.email "fjh@hpplay.cn"
- git config --global user.name "Fan Jianhua"
- git config --global core.editor vi
- 复制代码
5.2 Windows
5.2.1 使用git的windows版本自带的Git Bash
- 重复上面linux步骤即可,和linux的使用一样
- 复制代码
5.2.2 其他可视化工具,这里只列出SourceTree
5.2.2.1 创建秘钥
5.2.2.2 拷贝上面选中的key值到gerrit,Add进去
5.2.2.3 保存成private key之后,在系统托盘里面增加这个key值
5.2.2.4 剩下的使用和原来没有什么区别,只是不能直接push到git库里面了
6、提交代码
6.1 下载
git clone ssh://xx@192.168.8.74:29418/test
6.2 修改代码并本地提交
git commit -s
6.3 提交到gerrit
- git push origin HEAD:refs/for/master
- 第一次提交可能会缺少Chang-Id,执行下面语句
- gitdir=$(git rev-parse --git-dir); scp -p -P 29418 fjh@192.168.8.247:hooks/commit-msg ${gitdir}/hooks/commit-msg"
- git commit --amend
- git push origin HEAD:refs/for/master
- 复制代码
6.4 现在就可以在gerrit上看到提交信息了
6.5 配置Sourcetree,使其可push到Gerrit
如果不想使用命令提交,也可以在Sourcetree中添加push配置
打开config文件,如上图:在[remote "origin"]里面添加 push = refs/heads/:refs/for/
这样就可以使用 “推送” 按钮将文件修改push到Gerrit上了
7、Linux下repo配置
7.1 该配置是在Ubuntu下验证,下载repo,比如放在~/bin/repo
7.2 配置环境变量,
- huangpeng@ubuntu:~$ vi .bashrc
- 复制代码
- export PATH=~/bin:$PATH
- 复制代码
8、Gerrit提交规范
1、Message提交规范
ModuleName: