IDEA下使用gerrit项目指南

IDEA下使用gerrit项目指南

注:由于svn和git在原理上存在较大差异,所以在使用git之前,请务必先了解git是如何管理项目的。可阅读以下链接了解

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

步骤一:准备事项

  1. git本地安装(自行百度)
  2. idea安装gerrit插件
  3. gerrit账号密码
  4. gerit地址:http://172.1.2.20:30181

步骤二:gerrit设置

  1. 设置http密码

输出用户名后点击生成密码即可,注意要把生成的密码保存到本地,方便以后使用。

  1. 设置idea gerrit

此处账号密码即上一步的账号密码。

在git设置中,将ssh设置为native

  1. 生成ssh public key(公钥)

打开git命令行

按以下步骤输入命令行

ssh-keygen -t rsa -C "hany.mo@sunyard.com" -b 4096   (生成公钥,注意要使用自己gerrit服务器上的邮箱地址)

cat ~/.ssh/id_rsa.pub (查看公钥,并复制文本中的公钥)

将复制的公钥粘贴到gerrit服务器上的公钥并添加

然后将本机的git设置一下账号名和邮箱地址

git config --global user.name “hany.mo”        //设置成gerrit上的用户名

git config --global user.email “hany.mo@sunyard.com”    //设置成gerrit上的用户邮箱地址 

步骤三:下载代码

找到对应的项目并拷贝clone地址,注意将地址中的29418修改为30191

执行命令,第一次连接时需要确认,输入yes即可

(注意,此时会在你的当前目录clone代码,请前往你的工作目录再执行)

步骤四:选择你的相应分支

以welkin为例,git存在不同的分支,默认为master分支,所以在开发项目时,记得选择自己的相应分支。现在我要在origin/welkin-webjar-sunyard 这个分支下进行开发,那么就需要切换工作的分支了。

  1. 前往项目目录,并查看当前分支

可以看到本地并没有origin/welkin-webjar-sunyard这个分支

  1. 切换分支

此时再打开项目,发现此时已经是目标分支的内容了

步骤五:提交代码

  1. 配置

打开项目后,如果发现底部没有versioncontroll,按图示操作

此时则出现了version control

  1. 本地commit(同svn)
  2. Push到服务器

按ctrl+shift+k进行push

注意勾选图示中位置

Push成功即可(若不成功,先自行百度)

服务器迁移后gerrit相关修改方法

步骤一:修改idea中的geriit地址:

url修改为http://172.1.2.20:30181即可

步骤二:修改项目gerrit地址:

在项目的目录下执行git命令,到.git文件夹下。

修改config文件

将原先的地址修改为172.1.2.20即可(不会命令行修改的请自行百度)。

查看是否已经变成新的地址。

步骤三:修改钩子

注意,此时要确认当前目录是在项目的所在文件夹目录(和clone项目时的目录一样),以pms为例,pms项目目录为:/f/work/git/pms,那么这一步操作要在/f/work/git目录下进行。

再次复制clone项目时所需的命令行,删除&&以及之前的命令,当然,29418端口也要修改为30191如下图:

执行结束,如果出现错误,很有可能是所在目录部队,请重新阅读当前步骤。

好了,再试试更新,提交等操作,就可以了

附上一张命令汇总图

使用过程中的各种问题汇总:

1.当提交到gerrit之后,审核没有通过,需要撤回修改时:

在idea的gerrit面板中找到自己需要撤回的代码,右键菜单中选择Abandon。

Abandon之后,在version control中查看log,选择对应的数据,右键菜单中选择undo commit,之后,就能在local chages中看到自己撤回的代码了。(注意一定要undocommit,否则你修改代码之后提交到gerrit之后,审核员将无法submit你的代码)

2.当push代码时,发现push列表中出现一些Merge信息时

出现这个的原因是在你修改一个文件的过程中,服务器上刚好有人修改了该代码而你又没有及时去更新你的代码。此时如果提交你的代码到gerrit,审核员可能无法进行submit(存在冲突)。所以为了不必要的麻烦,遇到这个情况时,按以下步骤进行操作:

选择rebase

点击rebase,然后按指示进行操作下一步即可(如果有过程中有冲突请手动合并)

3.当审核员submit你的代码时,出现冲突:

表示有两次提交的代码涉及同一代码的修改,而又未进行rebase操作就提交到服务器。

需先abandon掉后提交的代码。提交人在idea的gerrit面板中找到自己需要撤回的代码,右键菜单中选择Abandon。这时候先提交的代码已经可以submit,先进行submit操作。

Abandon之后,在version control中查看log,选择对应的数据,右键菜单中选择undo commit,之后,就能在local chages中看到自己撤回的代码了。(注意一定要undocommit,否则你修改代码之后提交到gerrit之后,审核员将无法submit你的代码)

注:如果撤回的代码并非最后一次提交,即之后存在多次commit,后面的commit通过,那么也要按顺序先把后面的代码undocommit,直到把要撤回的代码undocommit,再一个个提交,或者多次commit合并成一个接交

更新代码,再重新提交,push到gerrit的时候会出现这种情况,是因为在你修改一个文件的过程中,服务器上刚好有人修改了该代码而你又没有及时去更新你的代码。点击cancel。

点击idea上方VCS,点击Git,点击rebase。

点击rebase,然后按指示进行操作下一步即可(如果过程中有冲突请手动合并)

再重新push代码到gerrit,这样情况就正常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小野猪

若恰好解决你的问题,望打赏哦。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值