[Gerrit] 一、使用

转:https://blog.csdn.net/dovar_66/article/details/60873639

标题 ##1.Gerrit是什么?

Gerrit实际上一个Git服务器,它为在其服务器上托管的Git仓库提供一系列权限控制,以及一个用来做Code Review是Web前台页面。当然,其主要功能就是用来做Code Review。

标题 ##2.配置ssh

1.使用gitbash查看是否已经有了ssh密钥:cd ~/.ssh

2.生成ssh密钥:

$ ssh-keygen -t rsa -C “你想设置的用户名”

3.生成密钥后要求设置密码,可按回车键跳过

4.登录网址后,将生成的.ssh文件夹下的公钥id_rsa.pub中的内容粘贴到setting–SSH Public Keys中即可
[Gerrit] 一、使用_第1张图片

5.你可能还需要给ssh添加一个配置文件config

这里写图片描述

config文件中具体需要写入什么配置请询问你们搭建gerrit环境的同事

标题 ##3.gerrit的日常使用

使用git命令拉取代码,git命令从gerrit项目中获取,获取clone地址时选中“clone with commit-msg hook”和“SSH”。打开gitbash进行代码下载。
[Gerrit] 一、使用_第2张图片

下载完成后注意检查commit-msg文件是否下载成功,如果没下载到,请自行前往gerrit下载,并放到项目目录下,如下图
[Gerrit] 一、使用_第3张图片

commit-msg文件是用于为每次commit自动生成唯一的changeId。

Push命令:git push origin Head:refs/for/branch 这里的branch是指你想要提交到的分支名

标题 ##4.使用中可能遇到的一些问题:

1.gerrit通过给每个独立的commit加上一个唯一的changId来保证有序的代码提交和review,多次commit携带相同的changid视为对同一次commit的修改,如果commit没有携带changid的话则无法push成功,所以当push失败的时候第一件事应该是检查当前的commit是否都带有changid。如果仅最后一次commit没有changid,可使用git commit –amend 然后直接:wq退出编辑即可,此命令的作用就是将最新一次commit指向上一次带有changid的commit,如果含多条commit都没有changid的话,可以checkout这些commit然后逐条添加changid,或者rebase到最后一次有效的commit然后重新编辑提交

2.听说stackoverflow上如何在vim下保存退出这个问题已经有一百万+的访问量了,赶紧记录下操作,esc退出编辑模式,然后冒号:wq即可

3.可能遇到由于某次commit携带的用户信息与gerrit网站上配置的不同而导致push失败的,使用git更换本地账号:

    命令分别为:git config  --global user.name 你的目标用户名;

           git config  --global user.email 你的目标邮箱名;

当然,你还可以直接修改git的配置文件的方式来进行修改:打开全局的.gitconfig文件的命令为:vi ~/.gitconfig; 然后在文件中直接修改即可.

你可能感兴趣的:(Greeit)