gpt4 book ai didi

merge - Gitlab 将 "merge request"与提交合并

转载 作者:行者123 更新时间:2023-12-01 17:55:44 24 4
gpt4 key购买 nike

我认为这是一个愚蠢的问题,但我不明白我应该如何使用gitlab merge request push options

我有这样的场景:

  • 我有从开发到主控的开放合并请求
  • 我在开发分支上做了一些更改,并使用正确的选项将它们推送到 gitlab 服务器
git add .
git commit -m 'finish mr'
git push origin develop -o merge_request.merge_when_pipeline_succeeds
  • 我预计此提交的管道将成功合并 MR,但我在 gitlab MR 页面上收到此消息:
@user aborted the automatic merge because source branch was updated just now
@user added 1 commit just now

8efdbde1 - finish mr

因此,推送似乎会将 MR 设置为允许成功后合并,并由于同一推送的提交而立即中止合并。我也尝试过quick actions与/merge 但结果相同。我知道有gitlab API,但我不能使用它。有谁知道我做错了什么?

编辑:

作为接受的答案建议添加目标分支有帮助,但我还需要添加ci.skip:

git push origin $CI_COMMIT_REF_NAME \
-o ci.skip \
-o merge_request.target="$MASTER_BRANCH_NAME" \
-o merge_request.merge_when_pipeline_succeeds \
-o merge_request.create

最佳答案

您可以在 gitlab-foss commit 882e798 中看到更新的错误消息,作为 issue 63187 的一部分和 MR (Merge Request) 30249对于最近的 GitLab 12.1。

那个merge_request.merge_when_pipeline_succeeds选项来自gitlab-foss MR 26752 (GitLab 11.10,2019 年 4 月),issue 43263 (release notes)。
MR 包括:

To create a new merge request, set its target branch, and set it to merge when its pipeline succeeds:

git push -u origin -o merge_request.create \
-o merge_request.target=branch1 \
-o merge_request.merge_when_pipeline_succeeds

Updating existing merge requests

当使用现有打开的合并请求推送分支时,targetmerge_when_pipeline_succeeds 可用于更新合并请求。

所以在你的情况下,也许添加目标:

git push origin develop -o merge_request.merge_when_pipeline_succeeds \
-o merge_request.target=master

关于merge - Gitlab 将 "merge request"与提交合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58239976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com