在 GitLab 中创建合并请求失败

Posted

技术标签:

【中文标题】在 GitLab 中创建合并请求失败【英文标题】:Creation of Merge Request in GitLab fails 【发布时间】:2018-03-01 12:28:52 【问题描述】:

我将现有资源从 Microsoft SourceSafe 迁移到 GitLab。

现在我有两个分支masterrelease

我在master 之外创建了第三个分支feature 并提交并推送了这个分支。

之后,我创建了一个新的合并请求,该请求被接受并将feature 合并到master 中而没有冲突。现在我想将这个合并请求挑选到 release 中,这是 15 次提交,12 次提交到 master

创建此合并请求时,我收到一条错误消息“抱歉,我们无法自动挑选此合并请求。

这个合并请求可能已经被挑选出来了,或者最近的提交可能已经更新了它的一些内容。”并且没有创建合并请求。这个合并请求还没有被挑选出来,因为它是第一个在此存储库中挑选过樱桃,并且也没有更新此文件的更新提交。

此外,GitLab 不会在内部日志中显示与我的错误相关的任何条目。

我希望 GitLab 创建一个合并请求并让我解决 Web 界面中可能存在的冲突。这可能吗?

【问题讨论】:

...let me resolve possible conflicts in the web interface.:这是不可能的 AFAIK。我们总是在本地解决冲突并再次推动。 这很好,但 GitLab 甚至不会创建合并请求 另外,根据docs.gitlab.com/ce/user/project/merge_requests/… GitLab 支持在 ui 中解决冲突 你是对的,确实如此。我在这方面的信息已经过时了。 你能在命令行本地挑选吗? 【参考方案1】:

通常在这种情况下,为您的 release 创建一个新分支,将其挑选到该分支,然后将其作为单独的合并请求推送。

这就是我们在releasemain 彼此分歧时处理发布过程的方式。当我在我们分支 release 几分钟后开始我的重构狂潮时,这一点变得非常明显。 :D

由于 Git 的工作方式和无环图,你不能只重用一个提交,你基本上必须手动创建一个相同的提交并将它们向上推送,因为 release 的先前提交不同于 master

【讨论】:

以上是关于在 GitLab 中创建合并请求失败的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab-ci.yml 创建合并请求

python gitlab api 合并请求失败,出现 gitlab.execeptions.GitlabMRClosedError 405

为合并请求触发的管道运行应用 GitLab CI/CD 管道更改

为啥我在 Gitlab 合并请求中收到“由于未验证用户而导致管道失败”和“分离的合并请求管道”?

尝试使用其 API 在 Spotify 中创建播放列表时出现“请求失败,状态码为 401”错误

在 GitLab 中从问题创建分支