在 GitLab 中创建合并请求失败
Posted
技术标签:
【中文标题】在 GitLab 中创建合并请求失败【英文标题】:Creation of Merge Request in GitLab fails 【发布时间】:2018-03-01 12:28:52 【问题描述】:我将现有资源从 Microsoft SourceSafe 迁移到 GitLab。
现在我有两个分支master
和release
。
我在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
创建一个新分支,将其挑选到该分支,然后将其作为单独的合并请求推送。
这就是我们在release
和main
彼此分歧时处理发布过程的方式。当我在我们分支 release
几分钟后开始我的重构狂潮时,这一点变得非常明显。 :D
由于 Git 的工作方式和无环图,你不能只重用一个提交,你基本上必须手动创建一个相同的提交并将它们向上推送,因为 release
的先前提交不同于 master
。
【讨论】:
以上是关于在 GitLab 中创建合并请求失败的主要内容,如果未能解决你的问题,请参考以下文章
python gitlab api 合并请求失败,出现 gitlab.execeptions.GitlabMRClosedError 405
为合并请求触发的管道运行应用 GitLab CI/CD 管道更改
为啥我在 Gitlab 合并请求中收到“由于未验证用户而导致管道失败”和“分离的合并请求管道”?