- 管理者关注部分
- 搭建gerrit环境
- 下载JRE
Download jre-1.8路径: https://www.oracle.com/technetwork/java/javase/downloads/index.html
- 下载gerrit
wget https://gerrit-releases.storage.googleapis.com/gerrit-3.0.3.war
- 安装gerrit
export GERRIT_SITE=~/gerrit_testsite
java -jar gerrit-3.1.3.war init --batch --dev -d $GERRIT_SITE
提示:
参数 --batch 设置gerrit部分参数为默认值。
--dev 配置gerrit服务器使用授权选项。
--d 配置初始化安装路径
命令执行成功结果:
Generating SSH host key ... rsa(simple)... done
Initialized /home/gerrit/gerrit_testsite
Executing /home/gerrit/gerrit_testsite/bin/gerrit.sh start
Starting Gerrit Code Review: OK
- 配置文件
如果搭建起来的gerrit服务器,登陆的时候显示的是openid。用户不能创建和登陆。可以参考本配置文件,设置成第一个访问者成为管理者,其他访问者自动成为用户的配置。
文件:gerrit.config
- 更新监听URL
git config --file $GERRIT_SITE/etc/gerrit.config httpd.listenUrl 'http://localhost:8080'
- 重启gerrit服务
$GERRIT_SITE/bin/gerrit.sh restart
- 查看gerrit网页
http://localhost:8080
或者http://192.168.1.2:8080/
第一个访问的ID将会是管理员账户,后面每新登录一个账户,就会创建一个新ID。
- 创建project
命令创建新仓库
shell命令行输入如下创建新工程:
ssh -p 29418 [email protected] gerrit create-project hello.git
其中jqh换成自己的用户名,如果在其他电脑上,127.0.0.1换成146的ip地址192.168.1.2。
网页创建新仓库
访问网页:http://192.168.1.2:8080/
通过已有用户名登录,点击“BROWSE”----“Repositories”,
再选择右边的"CREATE NEW",即可创建一个默认的仓库(工程)。
创建fuchsia_仓库,示例如下:(其中create initial empty commit选项,false-无commit记录,true-有初始化commit记录)
创建自带git log记录的已有仓库时,请选择false。我这里选择false。
创建已有仓库,带log记录
,首先需要在gerrit上创建一个空仓库不带日志记录的空仓库。
方法一:
如上一步网页创建新仓库。
方法二:
使用命令行 ssh -p 29418 [email protected] gerrit create-project fuchsia_.git
,然后
克隆已有仓库,并进入该目录
git clone /home/zeos/fuchsia;cd fuchsia;
配置gerrit仓库权限
git push -o skip-validation ssh://[email protected]:29418/fuchsia_.git *:*
- 创建分支
ssh -p 29418 review.example.com gerrit create-branch myproject newbranch master
- 用户推送设置
为了用户能够将修改内容提交推送到本gerrit服务器,需要管理员对该仓库做如下配置:(其中require change-id in commit messge选择false)
- 管理员常用命令
ssh -p 29418 [email protected] gerrit xxx
比如创建项目:ssh -p 29418 [email protected] gerrit create-project test.git
2.用户关注部分
- 生成public kery
ssh-****** -t rsa
cat ~/.ssh/id_rsa.pub
将生成的公钥拷贝到new ssh key框内,然后点击“ADD NEW SSH KEY”。
- 克隆仓库
同一台电脑:
git clone ssh://[email protected]:29418/fuchsia.git
x服务器:
git clone ssh://[email protected]:29418/fuchsia_.git
其他用户克隆的时候,将jqh换成自己用户名即可。
- 推送远程仓库
推送前确认自己用户的git全局配置,主要关注用户名和邮件,查看全局信息:
git config --list
- 配置全局信息:
git config --global user.name “github’s Name”
git config --global user.email “[email protected]”
- 配置好之后,开始推送
git push origin HEAD:refs/for/master