欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[Gerrit] 一、使用

程序员文章站 2022-03-14 20:49:51
...

转: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-****** -t rsa -C “你想设置的用户名”

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

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

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

[Gerrit] 一、使用

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

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

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

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

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

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

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

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

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

相关标签: 工具使用