前景
- 已安装Git,并了解基本的Git操作,status, add, commit等。
- 有一个已配置好的review环境及本地代码库。
- 了解基本的命令行操作, cd,cat 等。
- 了解基本的Vim操作,编辑、保存等。
- 了解Gerrit相关知识。
1. 下载安装 python
https://www.python.org/downloads/release/python-370/ 选择相应windows版本.
这里使用ptyhon3.7.0,下载后, 安装中,记得勾选添加到 path,如果没有忘记勾选,手动设置如下:
系统属性 / 高级 / 环境变量(N) /双击 Path / 编辑 / 新建 添加两条路径, 类似于这样
C:\Users\aaa\AppData\Local\Programs\Python\Python37\
(aaa是我的电脑名称,换成自己的)
C:\Users\aaa\AppData\Local\Programs\Python\Python37\Scripts\
最后确定保存。
打开终端检查是否安装python成功(这里使用Git bash):
$ python -V
Python 3.7.0
$ pip -V
pip 10.0.1 from c:\users\hy\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)
2. 利用pip安装 git review 包
$ pip install git-review
如果报pip安装超时的错误,需要更改下安装配置的镜像,下面改成使用阿里云的配置
在 C盘用户目录下( C:\Users\[用户名] \
)新建文件夹 pip, 添加配置文件pip.ini
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
重新执行一下install
检查是否安装成功:
$ git review --version
git-review version 1.26.0
3.添加配置文件
有两种方式,任选其一:
- 项目中已有.gitreview相关的配置,直接修改git中项目配置即可,执行下面命令:
git remote set-url origin ssh:xxx
git remote add gerrit ssh:xxx
注:xxx为ssh代码库地址
- 新建一个配置文件
- 比如我的项目叫 UIReact, 项目路径: /d/code/UIReact ,到项目根目录下:
新创建一个配置文件.gitreview
,添加以下内容(请修改成自己的配置)
- 比如我的项目叫 UIReact, 项目路径: /d/code/UIReact ,到项目根目录下:
[gerrit]
host=review.xxxx.com // 提交的远程IP地址
port=29418 //端口号
project=UI/UIReact // 提交到的项目
defaultbranch=master // 分支
如果不知道具体配置,可查看项目的git的配置文件,cd 到项目文件夹下:
aaa@DESKTOP-MIQKPJL MINGW64 /d/code/UIReact (master)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"] !!!!!参考这里的url !!!!
url = ssh://aaaa@review.xxxx.com:29418/UI/UIReact
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
- 检查review是否安装成功:
1)git review -s 第一次会提示输入用户名/密码,跟review网站账号一致即可。
2)通常reveiw都会使用ssh的方式登录,所以也可直接配置ssh,避免输入账户密码登录,
cd ~/.ssh/config
chmod a+w ~/.ssh/config # 添加修改权限
vim ~/.ssh/config #编辑配置文件,也可直接打开文本编辑器修改
Host gerrit
Hostname review.xx.com # gerrit地址
User zy # 填写自己的用户名
Port 29418
KexAlgorithms +diffie-hellman-group1-sha1
IdentityFile ~/.ssh/id_rsa # 填写自己的公钥地址
保存后,执行git review -s 没有报错提示,就说明成功了
注意:
如果发生报错,仔细看报错原因,很有可能是配置文件写错了,比如缩进不对,有非法空格,修改后重新尝试 git review -s
4.最终测试提交
随便选个文件编辑一下:
$ vim README.md
aaa@DESKTOP-MIQKPJL MINGW64 /d/code/UIReact (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitreview (如果上一步使用了ssh的配置登录,则不会出现此文件)
no changes added to commit (use "git add" and/or "git commit -a")
这里如果不希望提交review的配置文件,把.gitreview
文件添加到 .gitignore
文件中,[忽略.gitignore 文件]
(https://www.cnblogs.com/youyoui/p/8337147.html)
$ vim .gitignore
添加一行: .gitreview , ESC, :wq保存
提交:
$ git add .
$ git commit -m "test git review"
$ git review master
[master e53473e] test review
2 files changed, 3 insertions(+), 2 deletions(-)
去review网站查看提交记录, 然后Abandon这次提交,搞定!
可能出现的问题:
- git review 安装成功,但执行失败了,可以试试执行
git push origin HEAD:refs/for/master
提交review的代码。 - 文件克隆时,记得克隆hooks
scp -p -P 29418 review.xxxx.com:hooks/commit-UI/UIReact/.git/hooks/
chmod u+x .git/hooks/commit-msg