有没有办法强制 Gerrit 将分支中的所有提交推送到代码审查?

2024-04-01

Gerrit 将合并提交历史记录中较早且位于存储库的不同“分支”中的潜在未经审核的更改。这是一个例子:

  1. 结账 gerrit 分支devel
  2. 创建file1.txt,添加,提交,推送到refs/heads/temp_branch
  3. 创建file2.txt,添加,提交,推送到refs/for/devel待代码审查

当 file2.txt 被接受并合并时,file1.txt 也会被合并,因为它位于上游,而不是在标记为正在审查的单独更改分支中。这可能是非常有问题的,我能想到的唯一解决方案是强制推送到每个分支的每个更改都经过代码审查。这并不理想,因为您可能希望拥有一些由一组审批者组成的分支,或者没有代码审查(对于某些代码交换?)。

这里的解决方案是强制将历史记录中的每个提交放入代码审查中,就像 file1.txt 没有被推送到同一存储库中的不同分支的情况一样。

Gerrit 中是否有强制执行此规则的设置? 谁能想到一个允许自由推动的工作流程refs/heads/而不冒污染其他分支机构的风险?

非常感谢。


我怀疑您看到此行为是因为步骤 3 中的提交将步骤 2 的提交作为其父级。除非提交的所有父项都已提交,否则您无法提交提交。我同意你的观点,这似乎是 Gerrit 中的一个错误 - 它应该拒绝提交,直到步骤 2 提交。

尝试此解决方法 - 在步骤 2 之后添加步骤 2a:

2a.再次签出开发分支

如果提交将进入两个不同的分支,那么它们是线性的就没有意义。

另一种想法是——您在这个项目中使用什么合并策略?如果它是cherry-pick,我会尝试将其更改为merge-if-needed,或者如果它不是cherry-pick,我会尝试将其更改为cherry-pick。我相信合并策略之间的行为是不同的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法强制 Gerrit 将分支中的所有提交推送到代码审查? 的相关文章

  • 警告:您的 git 版本是 1.9.3。存在严重的安全漏洞

    我在部署到 Heroku 期间收到有关 git 1 9 3 严重安全漏洞的警告 我尝试通过 homebrew 更新 git 但发现 git 最初并不是通过 homebrew 安装的 然后我通过自制程序安装了它 brew update bre
  • Gerrit 安装后无法克隆所有项目存储库

    我有一个新设置的 Gerrit 实例 目前只有两个存储库 所有项目 binutils 测试 尝试克隆所有项目时 我收到以下错误 git clone ssh user hostname 29418 All Projects Initializ
  • GitHub API:标记提交所属(与 git describe --tag 并行)

    我正在使用 GitHub API 进行实验octokit https github com octokit octokit rb红宝石 我的目标是能够提取提交 SHA 所属的 标签 现在我可以使用命令行轻松地执行此操作 gt git des
  • 如何修复树与树之间的 Git 错误断开链接?

    我的事务被中断 当我再次尝试时 我遇到了空或损坏的对象错误 在另一个问题之后 我删除了所有空文件 当我运行时 git fsck full 我收到这个错误 Checking object directories 100 256 256 don
  • git 预提交钩子格式代码 - Intellij/Android Studio

    本要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码 Source https gist github com ktoso 708972 https gist github com ktoso 708972
  • Git 不断提示我输入密码

    我已经使用 Git 一段时间了 但是不断要求输入密码开始让我感到厌烦 我使用的是 Mac OS X 和 GitHub 并且按照 GitHub 的说明设置了 Git 和我的 SSH 密钥设置 Git 页面 http help github c
  • Git:如何变基到特定提交?

    我想变基到特定的提交 而不是另一个分支的 HEAD A B C master D topic to A B C master D topic 代替 A B C master D topic 我怎样才能做到这一点 您可以通过在您喜欢的提交上创
  • Jenkins git 插件 - 有时太慢

    以下内容摘自 Jenkins 日志 00 00 03 135 gt git fetch tags progress email protected cdn cgi l email protection some org some repo
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • 为什么我无法创建/签出该分支?

    我正在尝试创建本地 Git 分支 但它不起作用 以下是我正在使用的命令 tablet edit11 git checkout b edit 11 Switched to a new branch edit 11 tablet edit11
  • `git ls-files -s` 输出中不同字段的含义是什么?

    在 Git 中 命令返回的典型结果行git ls files s好像 100755 be2c2e9b0966253096472d4b482c458bc892e493 0 gitignore 这些字段是什么意思 不用再犹豫了git ls fi
  • 自动将所有 GitHub 存储库镜像到 gitlab

    对于 GitLab 必须手动为每个存储库设置拉 推镜像 我想知道那里有any way可以自动将所有 Github 存储库同步到 GitLab 这样 当您在 GitHub 中创建新的存储库时 GitLab 中的存储库将自动创建 并充当拉取镜像
  • 格里特:! [远程拒绝] HEAD -> refs/publish/master (没有新的更改)

    我做了一些更改 提交了它们并将分支推送到 Gerrit git push gerrit 现在我的更改没有出现在 Gerrit 中 我认为这是因为我手动推送更改而不是使用git 审查 https github com openstack in
  • 如何合并两个连续的 git 存储库

    我有一个相当独特的情况 我有一个名为 Project1 的存储库 我在其中工作了一些时间 几个月 一年后 我创建了存储库 Project1 Again 从 Project1 停止的地方开始 现在 我希望修订历史记录是连续的 因此我希望它们合
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • git 日志历史记录图,每次提交一行,彩色,带有日期

    我需要的格式如下 git log decorate graph oneline date order 但我也需要它 包含日期 短 具有相同的颜色 I tried git log decorate graph oneline date ord
  • git 认为文件已更改

    我在一台机器上对一个项目做了一些工作 然后推送到 github 在另一台机器上克隆并做了一些工作 然后推送 然后我回到第一台机器并做了一个pull 现在 第一台机器认为项目中最初的所有文件都已更改 我试过了 git checkout f a
  • 创建一个空分支?

    我有一个包含项目的 git 存储库 我现在要对这个项目进行大规模的修改 如何为这次大修创建一个空白的新分支 然后当完成时 如何将这个分支切换到master 使用 checkout orphan 命令 git checkout orphan

随机推荐

  • 在 python 中将自定义模块与对象一起序列化

    Problem 假设我有这个模块名为custom module class CustomClass pass 我在脚本中使用这个类来序列化我定义的类的对象custom module import cloudpickle import cus
  • Firebase 身份验证的 Swagger 定义

    任何人都可以提供用于 firebase 身份验证的 Swagger 安全定义的工作示例吗 在后端 使用 firebase admin SDK 验证 firebase ID 令牌 import as admin from firebase a
  • RVM 与 ruby​​ 的本机安装

    我想知道在生产服务器中使用 rvm 是否有任何缺点 我应该选择 RVM 还是本机安装 为什么 不要这样做 错误 也许可以这样做 简单总是有回报的 Rvm是一个开发工具 由于您不会在生产服务器上动态地来回切换 Ruby 版本 因此它没有任何好
  • 找不到工具.jar

    我正在尝试构建 JOGL 的副本 但ant一直给我错误找不到tools jar 所以我在我的 JDK 目录中搜索 但也找不到它 有人可以帮我找到tools jar吗 您确定正在搜索您的JDK目录而不是JRE目录 我希望它在 JDK 中lib
  • startActivityForResult 似乎没有调用 onActivityResult

    当用户单击按钮时 它想要调用对话框 该对话框包含 ListView 中的产品列表 用户选择产品后 它应该转到上一个活动 我已经使用过startActivityForResult 有一些问题 我的调用活动位于选项卡活动组中的正常选项卡活动中
  • 如何解决 MVC 过滤器属性中的依赖注入

    我有一个从 AuthorizationAttribute 派生的自定义属性类 它对控制器操作执行自定义安全性 OnAuthorizationCore 方法依赖于各种其他组件 例如 DAL 来判断用户是否可以调用操作 我正在使用 Autofa
  • 如何在Python中仅初始化一次数据库连接并在运行时重用它?

    我目前正在开发一个巨大的项目 该项目不断执行查询 我的问题是 我的旧代码总是创建一个新的数据库连接和游标 这极大地降低了速度 所以我认为是时候创建一个新的数据库类了 目前看起来像这样 class Database object instan
  • 无法将 varchar 值转换为 int 数据类型

    我有简单的代码 我需要进行简单的操作 column A 100 但我无法将varchar类型转换为int 我的错误是 将 varchar 值 0 27 转换为数据类型 int 时转换失败 SELECT POWIERZCHNIA POWIER
  • stat_contour 无法生成等高线

    我需要通过添加行stat contour to my ggplot ggplot2 阴谋 不幸的是 我无法向您提供应该评估点值的真实数据 然而 另一个易于重现的示例的行为是相同的 testPts lt data frame x rep se
  • TFS 2015 - TF401002:SQL Server 数据库引擎无法将数据库备份保存到路径

    尝试为 TFS 2015 创建计划备份时 我收到以下消息 TF401002 SQL Server 数据库引擎无法将数据库备份保存到路径 share d TFSBackups 请授予 SQL 服务帐户读 写权限访问该文件夹 我似乎找不到适合我
  • Google 应用引擎或查询 (python)

    任何人都可以分享您在应用程序引擎中进行 或 查询的方法吗 假设我有 class A db model db Model valueA db ListProperty basestring 在 valueA 我有 aaa aaa bbb bb
  • Android开发者控制台错误报告

    我发布了一个免费的应用程序 有几个用户发表了评论 说应用程序强制在谷歌的反馈中关闭 当天就有数百次下载 留存率高达 84 Google 在开发者控制台中的错误报告显示有 0 个错误 我从来没有遇到过在控制台中报告任何错误的应用程序 它真的有
  • SQL Server 中子查询的总和

    我有一个查询 里面有一些子查询 我想添加一个求和查询来对它们进行求和 我怎样才能做到这一点 example Id SELECT COUNT FROM table1 LEFT JOIN table2 on as col1 SELECT COU
  • #评估图像数据

    如何使用 Eval 将 sql varbinary 数据 图像 绑定到图像 像这样的东西
  • Homebrew pyenv安装错误dyld:未加载库:/usr/local/opt/readline/lib/libreadline.7.dylib

    在 MacOS Mojave 上从 Homebrew 安装 pyenv 后 尝试安装任何 python 版本时出现构建错误 跑步时pyenv install对于任何版本 构建都会失败并出现错误 dyld Library not loaded
  • TypeScript 类型根据其他参数缩小回调中函数参数的范围

    我正在处理经典的节点回调 例子 myFunction foo err Error null data Buffer gt if err typeof err is Error typeof data is Buffer undefined
  • codeigniter 数据传递控制器->库->视图

    我有一个代码点火器问题 我试图将数据从控制器发送到库 发送到视图 我在视图中收到此错误 Message Undefined variable crimes 文件名 views crime view php Line 45 在调试时 我转储
  • 如何将 .php 文件上传到 Heroku

    我需要将 php 文件上传到我的 Heroku 网站 这是如何使用终端完成的 我已登录终端并可以看到我的应用程序等 谢谢你的帮助 如果您需要通过终端在 Heroku 应用程序上上传文件 您需要跟踪它并使用Git 安装并配置 heroku 工
  • 就空间而言最快的方法——用Python找到素数

    也许这是一个愚蠢的问题 但我想知道你是否可以提供用Python查找素数的最短来源 我还想知道如何使用 map 或 filter 函数查找素数 谢谢 编辑 当我说最快 最短时 我的意思是使用较少字符 单词的方式 无论如何 不 要考虑竞争 我想
  • 有没有办法强制 Gerrit 将分支中的所有提交推送到代码审查?

    Gerrit 将合并提交历史记录中较早且位于存储库的不同 分支 中的潜在未经审核的更改 这是一个例子 结账 gerrit 分支devel 创建file1 txt 添加 提交 推送到refs heads temp branch 创建file2