步骤1 gerrit数据库访问授权

首先在gerrit站点确认project config里是否对Administrator组有访问gerrit数据库的权限

使用Administrator组的账户登陆gerrit网站,然后点击Projects->List,选择All-Projects项目,进入之后点edit config

确保在[capability]节点下有

accessDatabase = group Administrators

修改完之后,需要点击Save,然后就像审核其他代码的提交一样,找到My->Open下面的Edit Project Config,点击Publish Edit,之后点击Publish,再code review,submit

到此,对Administrator组的gerrit数据库授权完成,这里无需重启gerrit服务

步骤2 ssh秘钥设置及连接

如果拉取提交代码的时候,已经设置过SSH key,则跳过此步骤
否则找到已登录的用户的Settings界面,Profile下的Username就是SSH登陆的用户名,
打开SSH Public Keys,点击Add Key ...,然后把自己的(~/.ssh/id_rsa.pub)Public Key文本放进去,
注意,Gerrit只支持ssh-rsa和ssh-dss两种形式的key,可以参考
 https://review.openstack.org/Documentation/user-upload.html#configure_ssh
gerrit服务器的ssh端口一般是29418
之后可以用ssh客户端进行连接(Windows下可以使用git自带的git bash进行连接):
ssh -p 29418  Username@gerrithost gerrit gsql
如果出现欢迎字符则表示成功
Welcome to Gerrit Code Review 2.11.5
(H2 1.3.174 (2013-10-19))

Type '\h' for help.  Type '\r' to clear the buffer.

gerrit>

步骤3 更新gerrit数据库的废弃记录

在步骤3的gerrit数据库命令行中,输入如下命令,注意可能需要把所有的change_id,和patch_sets 列表保存出来,便于后面的补充处理
update changes set status='d' where STATUS ='A';
update patch_sets set draft='Y' where in (select change_id from changes where STATUS ='A');
\q
退出gerrit数据库命令行
然后通过如下命令刷新缓存
ssh -p 29418  Username@gerrithost gerrit flush-caches

步骤4 停止gerrit服务,并重建索引

./gerrit.sh stop
java -jar gerrit.war的路径 reindex -d gerrit网站的根目录
之后启动gerrit服务
./gerrit.sh start
至此,所有废弃的提交记录已经全部从gerrit网站上消失了

补充 review处理

对所有的废弃的change_id,可能需要通过review处理来删除掉记录
ssh -p 29418  Username@gerrithost gerrit change_id,1
其中的1是patch的版本号,但本人操作的时候无需此步骤

gerrit 删除废弃的提交(Abandoned commit change)相关推荐

  1. git删除某次提交(某个commit)的方法【转】

    本文转载自:https://www.36nu.com/post/275 git删除某次提交(某个commit)的方法 疯狂的兔子 发表于 4个月前 阅读 536 收藏 0 推荐 0 评论 0 推荐收藏 ...

  2. git删除所有历史提交记录,只留下最新的干净代码

    git删除所有历史提交记录,只留下最新的干净代码 1.Checkoutgit checkout --orphan latest_branch2. Add all the filesgit add -A ...

  3. git 修改已提交的 commit

    2019独角兽企业重金招聘Python工程师标准>>> 修改历史的操作,原理上都是通过变基(rebase)实现的. 因为发生了修改,则每个涉及的 commit 都会计算出新的 SHA ...

  4. Git修改已提交的commit

    1 本地修改 由于以下修改本身是对版本历史的修改,在需要push到远程仓库时,往往是不成功的,只能强行push,这样会出现的一个问题就是,如果你是push到多人协作的远程仓库中,会对其他人的远程操作构 ...

  5. SVN提交(commit)时必须填写备注信息设置

    SVN提交(commit)时必须填写备注信息设置和取消设置的方法. 一.设置备注信息必须填写 1.打开版本库服务器上SVN的服务器端 2.右键点击项目,选择所有任务,选择manage hooks 3. ...

  6. git撤销未提交的commit

    撤销未提交的commit: git reset --mixed HEAD^ --------不删除工作空间代码,撤销git commit和git add. git reset --hard HEAD^ ...

  7. 怎么使用Git远程删除某个历史提交记录

    这篇文章主要介绍"怎么使用Git远程删除某个历史提交记录"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么使用Git远程删除某个 ...

  8. git删除相关历史提交记录,相关文件保持当前状态

          git删除相关历史提交记录,相关文件保持当前状态 引言   新年新气象,趁着现在新的一年开始项目的事情还不是非常繁忙的时候,多整点下酒菜.这不实战类型的博客记录又开始了!当然实战类型的博客 ...

  9. svn篇之提交svn commit 提示Aborting commit 问题解决

    一.问题描述 通常会遇到一种情况,当提交svn commit的时候,把分支上的代码进行提交到主干时,一直提示提交失败 二.问题报错如下 build@QA1037:~/pro_workspace/dev ...

最新文章

  1. JavaScript对象克隆
  2. python中的引用_Python中的引用
  3. c++中的向量容器(vector)
  4. redis的过期策略
  5. 洛谷P1901 发射站
  6. 手机应用UI设计示例+模板|为了在下一个应用程序设计项目找到灵感
  7. AWT_事件监听2(Java)
  8. 关于java集合的知识点_java中集合的知识点
  9. 巨牛,访问github速度加快数倍
  10. 推荐子龙山人的emacs视频教程
  11. 维特智能六轴加速度电子陀螺仪传感器姿态倾角温补传感器模块JY60
  12. 谷歌浏览器能打开网页微信_Chrome浏览器打开微信页面-Go语言中文社区
  13. error: .repo/manifests/: contains uncommitted changes 解决办法
  14. 封装一个可以设置微信小程序的本地缓存接口过期时间的方法!
  15. MySQL千万级别表数据中提高RAND随机查询的实验
  16. 学习编程该如何开始呢?
  17. 坛经与禅宗的智慧-王德峰
  18. 转自 计算机硕士找offer的总结 节选
  19. 十大排序算法入门(JAVA版)
  20. html颜色代码暗黑模式,拆解·暗黑模式の文字配色

热门文章

  1. 360新闻api,通过关键字检索最新新闻动态
  2. 除了刺激战场和全军出击,最近还有哪些好玩的手游值得推荐?
  3. mybatis+shardingJdbc实现数据库读写分离和分库分表
  4. Android系统开机到Launcher启动流程分析
  5. 家用移动光猫(型号:HS8545M5)利用公网ipv6对外提供公网服务。(100M的宽带,真香 )
  6. 为什么谷歌越来越牛逼,而百度却...
  7. fanuc机器人基于程序号码选择(PNS)的自动运转
  8. Laravel实现google-authenticator--Google二维码验证器
  9. 如何解决Vmware虚拟机出现There is no more space for virtual disk… 虚拟机消息的问题
  10. Patching OIM 11.1.1.5.0 to 11.1.1.5.3