极狐GitLab 合并请求依赖如何解决?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有:

  • 极狐GitLab 中文文档
  • 极狐GitLab 中文论坛
  • 极狐GitLab 官网

合并请求依赖 (PREMIUM ALL)

  • 在极狐GitLab 16.6 中引入了对复杂合并依赖关系的支持,通过名为 remove_mr_blocking_constraints 的功能标志进行控制。默认禁用。
  • 在极狐GitLab 16.7 中 GA,功能标志 remove_mr_blocking_constraints 被移除。

一个功能可以跨多个合并请求,分布在多个项目中,且工作合并的顺序可能非常重要。当需要按特定顺序合并工作时,可以使用合并请求依赖关系。以下是一些示例:

  • 确保对必需库的更改在更改导入该库的项目之前合并。
  • 防止仅包含文档的合并请求在功能工作合并之前合并。
  • 要求在合并尚未拥有正确权限的人员的工作之前,先合并更新权限矩阵的合并请求。

如果您的项目 me/myexample 导入了 myfriend/library 库,
您应该在 myfriend/library 发布新功能时更新您的项目。
如果您在 myfriend/library 添加新功能之前将更改合并到 me/myexample,
这将破坏您项目的默认分支。合并请求依赖关系可以防止您的工作过早合并:

在这里插入图片描述

您可以将 me/myexample 的合并请求标记为 草稿并在评论中解释原因。此方法是手动的,不具备可扩展性,尤其是当您的合并请求依赖于多个不同项目中的其他合并请求时。相反,您应该:

  • 使用 草稿已准备好 状态来跟踪单个合并请求的准备情况。
  • 使用合并请求依赖关系来强制执行合并请求的合并顺序。

合并请求依赖是一个 专业版 功能,但 GitLab 只对 依赖 合并请求强制执行此限制:

  • 专业版 项目的合并请求可以依赖于任何其他合并请求,即使它是在 免费 项目中。

  • 免费 项目的合并请求不能依赖于其他合并请求。

嵌套依赖

GitLab 版本 16.7 及更高版本支持间接的嵌套依赖。一个合并请求可以有最多 10 个阻塞者,而它也可以阻塞最多 10 个其他合并请求。

在此示例中,myfriend/library!10
依赖于 herfriend/another-lib!1,而后者又依赖于 mycorp/example!100:

在这里插入图片描述

嵌套依赖关系不会显示在 GitLab 用户界面中,但 UI 支持已在 epic 5308 中提议。

NOTE:一个合并请求不能依赖于它自身(自引用),但可以创建循环依赖关系。

查看合并请求的依赖关系

如果一个合并请求依赖于另一个,合并请求报告区域将显示有关依赖关系的信息:
在这里插入图片描述

要查看合并请求的依赖关系信息:

1.在左侧边栏中,选择搜索或跳转并找到您的项目。
2.选择代码 > 合并请求并识别您的合并请求。
3.滚动到合并请求报告区域。依赖的合并请求会显示关于设置的依赖关系的总数的信息,例如**(状态警告)** 依赖于 1 个合并请求的合并。
4.选择展开以查看每个依赖项的标题、里程碑、受指派人和管道状态。

在您的合并请求的所有依赖关系都合并之前,您的合并请求无法合并。会显示消息 合并被阻止:只有在上述项被解决后才能合并。

已关闭的合并请求

已关闭的合并请求仍然会阻止其依赖的合并请求进行合并,因为合并请求可以在未合并其计划中的工作之前关闭。如果合并请求关闭后,依赖关系不再相关,您可以将其移除作为依赖,以解除对依赖合并请求的阻塞。

创建新的依赖合并请求

当您创建一个新的合并请求时,您可以防止它在其他特定工作合并之后合并。即使该合并请求位于不同的项目中,这个依赖关系仍然有效。

前提条件:

  • 您必须至少拥有开发者角色,或者有权限在项目中创建合并请求。
  • 依赖的合并请求必须位于 Premium 或 Ultimate 级别的项目中。

创建新的合并请求并将其标记为依赖于其他合并请求的步骤:

1.创建一个新的合并请求。
2.在合并请求依赖关系中,粘贴应该在此工作合并之前合并的合并请求的引用或完整 URL。引用的格式为path/to/project!merge_request_id。
3.选择创建合并请求

编辑合并请求以添加依赖关系

您可以编辑现有的合并请求并将其标记为依赖于另一个合并请求。
前提条件:

  • 您必须至少拥有开发者角色,或者有权限编辑项目中的合并请求。

操作步骤:

1.在左侧边栏中,选择搜索或转到并找到您的项目。
2.选择代码 > 合并请求并识别您的合并请求。
3.选择编辑
4.在合并请求依赖关系中,粘贴应该在此工作合并之前合并的合并请求的引用或完整 URL。引用的格式为path/to/project!merge_request_id。

从合并请求中移除依赖关系

您可以编辑一个依赖的合并请求并移除依赖关系。
前提条件:

  • 您必须拥有允许您编辑合并请求的项目角色。

操作步骤:

1.在左侧边栏中,选择搜索或转到并找到您的项目。

2.选择代码 > 合并请求并识别您的合并请求。

3.选择编辑

4.滚动到合并请求依赖关系并选择每个要移除的依赖关系旁边的移除

NOTE:如果您没有查看权限的合并请求依赖关系,会显示为1个无法访问的合并请求。您仍然可以移除这个依赖关系。

5.选择保存更改

故障排除

在项目导入或导出时保留依赖关系

在导入或导出项目时,依赖关系不会被保留。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78169.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django DRF实现用户数据权限控制

在 Django DRF 中使用 ModelViewSet 时,若需实现用户仅能查看和操作自己的数据详情,同时允许所有认证用户访问列表,需结合权限类和动态权限分配。以下是具体步骤: 1. 自定义对象权限类 创建一个 IsOwner 权限类,检查…

【数据结构】——线性表之单链表

一、单链表的概念和结构 1、单链表的概念: 链表也是属于我们的线性表中的一种,其物理结构上是不一定连续的,但是逻辑结构上是一定连续的,所以其是没办法像前面的顺序表一样通过找到下一个元素的,其是通过指针来找到下…

线程函数库

pthread_create函数 pthread_create 是 POSIX 线程库&#xff08;pthread&#xff09;中的一个函数&#xff0c;用于创建一个新的线程。 头文件 #include <pthread.h> 函数原型 int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*s…

2.5 桥梁桥面系及附属结构施工

2.5.1 桥面系施工 1.排水设施 设置纵横坡及泄水孔&#xff0c;减少桥面积水、防排结合。汇水槽、泄水孔顶面高程低于桥面铺装10-15mm。泄水孔边缘设渗水盲沟泄水管下端至少应伸出构筑物底面100-150mm。泄水管通过竖向管道直接引至地面或雨水管线。竖向管道抱箍、卡环、定位卡…

docker 代理配置冲突问题

问题描述 执行 systemctl show --property=Environment docker 命令看到有如下代理配置 sudo systemctl show --property=Environment docker Environment=HTTP_PROXY=http://127.0.0.1:65001 HTTPS_PROXY=http://127.0.0.1:65001 NO_PROXY=127.0.0.1,docker.io,ghcr.io,uhub…

MATLAB基础应用精讲-【基础知识篇】发布和共享 MATLAB 代码

目录 MATLAB发布代码---生成文档pdf 分节符对发布文件的分节 实时脚本 Matlab workspace与m脚本数据共享 发布和共享 MATLAB 代码 在实时编辑器中创建和共享实时脚本 发布 MATLAB 代码文件 (.m) 添加帮助和创建文档 发布 MATLAB 代码文件 (.m) 可创建包括您的代码、注释…

JDBC 批处理与事务处理:提升数据操作效率与一致性的密钥

目录 一. JDBC批量添加数据 1. 什么是批量添加数据 2. 实现数据的批量添加 a. 方式一&#xff1a;不分块 二. JDBC事务处理 1. 什么是事务 2. JDBC事务处理实现 三. 总结 前言 本文来讲解JDBC的批处理和事务处理 这对数据的安全性和准确性以及高效率提供很好的办法 话不…

C++实现Atbash密码

详细说明 埃特巴什密码是一种替换密码&#xff0c;在该密码中字母表中的字母是反向对应的。例如&#xff0c;A 会被替换为 Z&#xff0c;B 会被替换为 Y&#xff0c;依此类推。 #include <cassert> /// for assert #include <iostream> /// for IO operations #…

QuecPython+GNSS:实现快速定位

概述 QuecPython 结合 GNSS&#xff08;全球导航卫星系统&#xff09;模块为物联网设备提供开箱即用的定位能力解决方案。该方案支持 GPS/北斗/GLONASS/Galileo 多系统联合定位&#xff0c;为物联网开发者提供从硬件接入到云端服务的全栈式定位解决方案。 优势特点 多体系定…

leetcode刷题日记——逆波兰表达式求值

[ 题目描述 ]&#xff1a; [ 思路 ]&#xff1a; 借助栈的特性&#xff0c;遇见数字就将这个数压入栈内&#xff0c;遇见符号&#xff0c;就从栈中弹出两个数&#xff0c;进行相应的运算&#xff0c;然后将结果压入栈中运行如下 int evalRPN(char** tokens, int tokensSize…

firewalld 详解

firewalld 详解 firewalld 是 Linux 系统中一个动态防火墙管理工具&#xff0c;取代了传统的 iptables&#xff0c;提供更灵活、动态的规则配置&#xff0c;支持运行时修改且无需重载服务。以下是其核心概念、常用操作及示例指南&#xff1a; 一、核心概念 区域&#xff08;Zo…

面向高性能运动控制的MCU:架构创新、算法优化与应用分析

摘要&#xff1a;现代工业自动化、汽车电子以及商业航天等领域对运动控制MCU的性能要求不断提升。本文以国科安芯的MCU芯片AS32A601为例&#xff0c;从架构创新、算法优化到实际应用案例&#xff0c;全方位展示其在高性能运动控制领域的优势与潜力。该MCU以32位RISC-V指令集为基…

支付宝小程序组件与页面构造器使用指南:从页面到组件的正确迁移

引言 在支付宝小程序开发中&#xff0c;我们经常会遇到需要将页面组件化的情况。本文将通过一个实际案例&#xff08;将 /pages/plugin/device 从页面迁移到组件&#xff09;&#xff0c;深入分析支付宝小程序中页面和组件的区别&#xff0c;以及正确的迁移方式。我们将从问题…

26-算法打卡-字符串-右旋字符串-第二十六天

1 题目说明 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k&#xff0c;请编写一个函数&#xff0c;将字符串中的后面 k 个字符移到字符串的前面&#xff0c;实现字符串的右旋转操作。 例如&#xff0c;对于输入字符串 &qu…

fastbev mmdetection3D 角度和方向损失

角度/方向损失 sin(a−b)sinacosb−cosasinb config参数 dir_offset0.7854, # pi/4 dir_limit_offset0, box编解码 # Copyright (c) OpenMMLab. All rights reserved. import torchfrom mmdet.core.bbox import BaseBBoxCoder from mmdet.core.bbox.builder import BBOX_COD…

极狐GitLab 如何 cherry-pick 变更?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 拣选(cherry-pick)更改 (BASIC ALL) 在 Git 中&#xff0c;cherry-pick 是从一个分支获取一个提交并将其添加为另一个分支的…

java多线程(7.0)

目录 ​编辑 定时器 定时器的使用 三.定时器的实现 MyTimer 3.1 分析思路 1. 创建执行任务的类。 2. 管理任务 3. 执行任务 3.2 线程安全问题 定时器 定时器是软件开发中的一个重要组件. 类似于一个 "闹钟". 达到一个设定的时间之后, 就执行某个指定好的…

优化非线性复杂系统的参数

非线性项组合的系统 对于系统中的每一个复杂拟合&#xff0c;即每一个残差函数&#xff0c;都能表示为非线性方程的趋势&#xff0c;例如较为复杂的系统函数组&#xff0c; from optimtool.base import sp, np x sp.symbols("x1:5") res1 0.5*x[0] 0.2*x[1] 1.…

清华LeapLab开源Cooragent框架:一句话构建本地智能体服务群,让AGI真正触手可及

引言&#xff1a;智能体革命&#xff0c;从复杂到简单 在人工智能发展的浪潮中&#xff0c;Agent&#xff08;智能体&#xff09; 技术被视为实现通用人工智能&#xff08;AGI&#xff09;的关键路径。然而&#xff0c;传统智能体的开发与协作始终面临两大痛点&#xff1a;依赖…

云原生--核心组件-容器篇-1-Docker和云原生关系(Docker是云原生的基石)

1、基本概念 &#xff08;1&#xff09;、云原生&#xff08;Cloud Native&#xff09; 是一种构建和运行应用程序的方法论&#xff0c;旨在充分利用云计算环境&#xff08;公有云、私有云、混合云&#xff09;的特性&#xff0c;通过容器化、微服务、服务网格、声明式API等技…