==== 搭建本地环境,克隆 gerrit 上的远程仓库 ====
这幅图是我们的工作模式,多个用户共享一个远程仓库。
{{:wiki:git.png?200|}}
- 确保安装了安装了git,openssh
- 配置用户名和邮箱,用户名为您名字的拼音,邮箱为@1v.cn邮箱。不可随意填写,因为在gerrit中会有一次匹配过程。git config --global user.name "xxx"
git config --global user.email xxx@1v.cn
- 确保安装了ssh
cd ~
ssh-keygen
一直回车
该命令完成后生成一个公匙(~/.ssh/id_rsa.pub)
最后
vim ~/.ssh/config (添加gerrit用户名,这样就不用每次都指定用户名了)
User xxx
- 登录http://wepu.1v.cn:8080/#/,点击右上角的用户名——settings——SSH Public Keys——Add Key。将~/.ssh/id_rsa.pub文件中的内容粘贴到这里,然后点击add。
- 登录http://wepu.1v.cn:8080/#/,点击Projects——List——点击你要克隆的仓库,你会有三个选择:Anonymous HTTP SSH HTTP。点击SSH,然后复制下面的一行命令(命令类似于:git clone ssh:),之后这个链接将用于定位仓库。
- 执行命令cd ~
mkdir test_pro
cd test_pro
- 然后执行第5步的复制的命令,将远程仓库克隆到本地(为了方便表达,我这里用了一个虚拟的用户名test,和一个虚拟的远程仓库test_pro)git clone ssh://test@203.195.187.71:29418/test_pro
- 进入仓库cd test_pro
- 下载脚本,用于提交gerrit时自动生成change-id。【非常重要,如果忘了这一步,后面可能会经常出错】
如果你有不经gerrit审核直接提交的权限可省略此步骤
scp -p -P 29418 User@IP:hooks/commit-msg .git/hooks/
chmod a+x .git/hooks/commit-msg
- 修改文件echo "add new content!">file
- 将文件放入暂存区git add file
- 提交到本地git commit -am 'msg'
- 推送到gerrit等待审核git push origin master:refs/for/master
- :跳到第11步,开始下一个轮回:修改,提交,push到服务器