Gerrit 大量代码提交流程优化
背景
本文适用于 提交大量初始代码 的场景(仓库版本的早期)。
有时候提交大量代码到Gerrit的时候会提示:
$ git push
Counting objects: 512996, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (482705/482705), done.
Writing objects: 100% (512996/512996), 2.61 GiB | 9.46 MiB/s, done.
Total 512996 (delta 123942), reused 624 (delta 117)
remote: Resolving deltas: 100% (123942/123942)
remote: Counting objects: 512999, done
remote: Processing changes: refs: 1, done
To ssh://xx@xx:29418/xxx
! [remote rejected] master -> refs/for/master (commit bb5b175: Exceeding maximum number of files per change (499908 > 100000))
error: failed to push some refs to 'ssh://xx@xx:29418/xxx'
此后就需要花费大量的人力到提交代码上,降低开发效率;因此有必要解决这样的问题。
注意,用这种方法提交的代码不会在Gerrit-Code Review区域显示,因此本文最适用于 提交初始代码 的场景,为了规范技术管理,其他场景的操作最好向管理员报备后再操作。
做法
思路很简单,提交的时候绕过refs/for
/ 和refs/heads/
即可。
在Gerrit中添加权限
入口:点击Gerrit仓库,找到
Access
,Edit
;ADD REFERENCE
。
为了以防万一,添加一个组,赋予强推权限。
Gerrit新建强推组:syncer
。
1、refs/heads/master
- Push:ALLOW - sysncer - Allow pushing with or without force
- Forge Committer Identity:ALLOW - sysncer
- Forge Author Identity:ALLOW - sysncer
2、refs/remotes/origin/master
- Create Reference:ALLOW - sysncer
- Delete Reference:ALLOW - sysncer
3、refs/for/refs/heads/master
- Create Reference:ALLOW - sysncer
- Delete Reference:ALLOW - sysncer
提交方式
0、找到Gerrit的仓库地址,${Gerrit-repo}
1、拉取需要提交的Gerrit代码仓库:
git clone ${Gerrit-repo}
2、提交
注意,一般的Gerrit仓库要提交代码之前需要:
config refs/heads/*:refs/for/*
,但是在这里不需要。
git push
# 必要时,使用强推命令。
git push --force --mirror
结果:
Counting objects: 136002, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (125500/125500), done.
Writing objects: 100% (136002/136002), 971.01 MiB | 9.36 MiB/s, done.
Total 136002 (delta 27908), reused 0 (delta 0)
remote: Resolving deltas: 100% (27908/27908)
remote: Counting objects: 136015, done
remote: Processing changes: refs: 1, done
To ssh://xx@xx:29418/xx
610d066..c3d6d87f master -> master
3、验证:在另外的地方git clone
下来看看git log
记录,看看提交信息是否健全。
Gerrit 大量代码提交流程优化的更多相关文章
- 敏捷开发-代码提交流程& 安装gerrit
- git代码提交流程
1.进入我的项目文件夹所在目录: 2.git status 查看我修改过的文件: 3.git add -A 将修改的文件全部添加, git add 文件名 只添加指定的文件名: 4.git comm ...
- Gerrit代码评审流程
Gerrit代码评审流程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.代码评审流程(如下图所示) 第一步:贡献者报建一个提交,并通过之前从gerrit下载的commit-ms ...
- Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程
目录 目录 前文列表 订阅邮件列表 Mailing Lists 社区工作运作流程 Openstack 代码贡献流程 PEP8 Python编程风格 查阅相关资源 前文列表 Openstack贡献者须知 ...
- Git代码版本控制流程
我们的项目使用Git作为代码仓库.和版本控制工具. Git有几种Workflow,来管理代码版本变更流程,我们采用Gitflow Workflow流程. Gitflow Workflow,采用了mas ...
- Git代码提交规范
1. 引言 思想,因人而异,难以重复 写代码时,每个人的习惯是不一样的,所以,引入了代码规范,为了省力,引入了自动格式化代码工具,前端工程中比较典型的自动格式化代码工具如:Prettier · Opi ...
- iPhone应用提交流程:如何将App程序发布到App Store?
对于刚加入iOS应用开发行列的开发者来说,终于经过艰苦的Coding后完成了第一个应用后最重要的历史时刻就是将应用程序提交到iTunes App Store.Xcode 4.2开发工具已经把App提交 ...
- kbengine Unity3d demo 代码执行流程(4)
当服务端成功启动,客户端链接服务端后进入demo中的游戏界面,demo中的功能包括注册.登录.角色管理.战斗.场景等等. 对于新接触kbengine的人,看见客户端的代码后会觉得很迷茫,有些无从下手. ...
- Gitlab源码库里代码提交后,如何触发jenkins自动构建?
版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...
- Git 结合Git使用Bitbucket进行代码版本管理流程规范与实践
结合Git使用Bitbucket进行代码版本管理流程规范与实践 By:授客 QQ:1033553122 目录 目录 1 一. 测试环境 2 二. 新建项目 2 三. 新建公有版本库 3 四. ...
随机推荐
- 快速入门一篇搞定RocketMq-实现微服务实战落地
1.RocketMq介绍 RocketMQ起源于阿里巴巴,最初是为了解决邮件系统的高可靠性和高性能而设计的.在2016年开源分布式消息中间件,并逐渐成为Apache顶级项目.现在是Apache的一个顶 ...
- ansible系列(35)--ansible实战之部署WEB集群架构(5)
目录 1. 整体测试 1.1 运行playbook 1.2 出口路由器防火墙规则设置 1.3 访问测试 1. 整体测试 1.1 运行playbook playbook的整体运行过程如下(因为之前都运行 ...
- 获取list集合中最大值、最小值及索引值
一.获取最大最小值的同时,获取到最大/小值在list中的索引值 public static void main(String[] args) { List<Integer> numList ...
- 仅1.0MB,开源压缩软件7-Zip
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...
- 🔥🔥httpsok-谷歌免费SSL证书如何申请
httpsok-谷歌免费SSL证书如何申请 使用场景: 部署CDN证书.OSS云存储证书 证书类型: 单域名 多域名 通配符域名 混合域名 证书厂商: ZeroSSL Let's Encrypt Go ...
- postgresql 创建索引
--查询索引 select * from pg_indexes where tablename='tab1'; --创建索引(查询用到哪几列,就对哪几个字段创建索引) CREATE INDEX ind ...
- PAT 练习2-3 输出倒三角图案
结果: 本题要求编写程序,输出指定的由"*"组成的倒三角图案. 输入格式: 本题目没有输入. 输出格式: 按照下列格式输出由"*"组成的倒三角图案. 一般都用的 ...
- 用 C 语言开发一门编程语言 — 变量元素设计
目录 文章目录 目录 前文列表 变量 变量语法规则 变量的读取和存储 将变量加入 Lisp Value 体系 变量的计算 变量的定义与赋值 异常处理优化 源代码 前文列表 <用 C 语言开发一门 ...
- 程序编译流程与 GCC 编译器
目录 文章目录 目录 GUN 计划 GCC 编译器 Clang 和 LLVM GCC 的常用指令选项 GCC 所遵循的部分约定规则 GCC 的编译流程 GCC 的编译流程示例 编译多个文件 GUN 计 ...
- 通过 OpenAPI 部署 Nbsf_Management API Service
目录 文章目录 目录 准备 部署 启动 API 服务 调用 准备 GentOS7 Golang1.12.5 Swagger YAML TS29521_Nbsf_Management.yaml TS29 ...