Gerrit-使用指南
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gerrit-使用指南相关的知识,希望对你有一定的参考价值。
参考技术A 登录 gerrit -> 激活邮箱 -> 获取并保存 http credentials(提交时要用)后续 Push, Review, Verify, Submit, 接收通知 等都需要邮箱的支持。
http 方式 Pull, Push 时用。
Pull -> Commit -> Push(带上Change-Id)
BROWSE -> Repositories。
仓库地址在仓库详情页。
Attention
Pull 时选择 "Clone with commit-msg hook" 方式以便 拿到 commit-msg (.git/hooks/commit-msg) 。
确保 commit footer 有 Change-Id 信息。
Change-Id 可从通过 commit-msg (.git/hooks/commit-msg) 生成。
Strongly recommended:
只需确保项目目录(.git/hooks/)下有 commit-msg 脚本,再配合对应 的 gerrit 插件即可在 Commit 时完成 Change-Id 的自动生成。
Idea, Eclipse 都有相应的 gerrit 插件。
用于标识 commit。
Have a look
YOUR -> Changes -> 选择对应的 Change -> REPLY;
对于一些进阶操作或部分问题的处理,要求对 git 有一定的程度的深入了解。
rebase(变基), merge
对前一次 commit 进行微调(打补丁),不产生新的 Commit。
可简单理解为: pull = fetch + merge
参考文档 git reset
一些常见的问题及对应的解决方案。
此种情况多是由于 本地 git 配置 name, email 与 gerrit 账户名, 注册邮箱不符。
解决方案:查看并修改 git 配置属性 name, email
问题分析
这个提示表示没有新的提交。Gerrit审核根据commit
id和changeId来判断是否是新的提交。
情况一:如果确实需要提交,比如在初次建立新的分支的时候,两个分支的内容完全一模一样
解决办法:
通过git commit –amend生成新的changeId。
情况二: 合并时,合并的那些历史的 commit 节点,在 gerrit 上都已经评审过了,都是已有的 change 单,所以 gerrit 认为没有新的提交,就不让你提交评审。
解决办法:
在 git merge 的时候,加上 --no-ff 参数,是为了让它生成一个新的 commit,这样就可以提交了~(不过生成的 gerrit change 是看不到改动信息的
结合 Idea gerrit 插件的使用:
解决办法:
问题描述:相应分支挂起(可简单理解为分支状态异常)
解决方案:
在对应仓库下执行以下命令
以下是 rebase 方式(推荐)
以 gitlab 为例。
以管理员身份登录 gerrit -> 创建项目仓库 repo_demo -> 进入 gerrit_home/<git_dir> 以 gitlab 中同名项目覆盖之(即删除 repo_demo
-> 再从 gitlab 克隆同名项目)
以上是关于Gerrit-使用指南的主要内容,如果未能解决你的问题,请参考以下文章