搭建本地环境,克隆 gerrit 上的远程仓库

这幅图是我们的工作模式,多个用户共享一个远程仓库。

  1. 确保安装了安装了git,openssh
  2. 配置用户名和邮箱,用户名为您名字的拼音,邮箱为@1v.cn邮箱。不可随意填写,因为在gerrit中会有一次匹配过程。
    git config --global user.name "xxx"
    git config --global user.email xxx@1v.cn

  3. 确保安装了ssh

    cd ~
    ssh-keygen
    一直回车
    该命令完成后生成一个公匙(~/.ssh/id_rsa.pub)
    
    最后
    vim ~/.ssh/config (添加gerrit用户名,这样就不用每次都指定用户名了)
    User xxx

  4. 登录http://wepu.1v.cn:8080/#/,点击右上角的用户名——settings——SSH Public Keys——Add Key。将~/.ssh/id_rsa.pub文件中的内容粘贴到这里,然后点击add。
  5. 登录http://wepu.1v.cn:8080/#/,点击Projects——List——点击你要克隆的仓库,你会有三个选择:Anonymous HTTP SSH HTTP。点击SSH,然后复制下面的一行命令(命令类似于:git clone ssh:),之后这个链接将用于定位仓库。
  6. 执行命令

    cd ~ 
     mkdir test_pro
    cd test_pro

  7. 然后执行第5步的复制的命令,将远程仓库克隆到本地(为了方便表达,我这里用了一个虚拟的用户名test,和一个虚拟的远程仓库test_pro)

    git clone ssh://test@203.195.187.71:29418/test_pro

  8. 进入仓库

    cd test_pro

  9. 下载脚本,用于提交gerrit时自动生成change-id。【非常重要,如果忘了这一步,后面可能会经常出错】

    如果你有不经gerrit审核直接提交的权限可省略此步骤
    scp -p -P 29418 User@IP:hooks/commit-msg .git/hooks/
    chmod a+x .git/hooks/commit-msg

  10. 修改文件

    echo "add new content!">file

  11. 将文件放入暂存区

    git add file

  12. 提交到本地

    git commit -am 'msg'

  13. 推送到gerrit等待审核

    git push origin master:refs/for/master

  14. :

    跳到第11步,开始下一个轮回:修改,提交,push到服务器