Merge “Gitlab合并”;“合并请求”;承诺

Merge “Gitlab合并”;“合并请求”;承诺,merge,gitlab,merge-request,Merge,Gitlab,Merge Request,我相信这是一个愚蠢的问题,但我不明白我应该如何使用它 我有这样一个场景: 我有从开发到主机的开放合并请求 我在development分支上做了一些更改,并使用适当的选项将它们推送到gitlab服务器 我希望在这次提交的管道成功后,MR将被合并,但我在gitlab MR页面上看到这样一条消息: 因此,推送似乎会将MR设置为在成功后允许合并,并由于来自同一推送的提交而立即中止。我也尝试了/merge,但结果相同。我知道有gitlab API,但我不能使用它。有人知道我做错了什么吗 编辑: 正

我相信这是一个愚蠢的问题,但我不明白我应该如何使用它

我有这样一个场景:

  • 我有从开发到主机的开放合并请求
  • 我在development分支上做了一些更改,并使用适当的选项将它们推送到gitlab服务器
  • 我希望在这次提交的管道成功后,MR将被合并,但我在gitlab MR页面上看到这样一条消息:
因此,推送似乎会将MR设置为在成功后允许合并,并由于来自同一推送的提交而立即中止。我也尝试了/merge,但结果相同。我知道有gitlab API,但我不能使用它。有人知道我做错了什么吗

编辑:

正如公认的答案所建议的,添加目标分支会有所帮助,但我还需要添加ci。跳过

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 12.1的一部分

merge\u请求。管道成功时进行合并
选项来自(GitLab 11.10,2019年4月),()。
MR包括:

要创建新的合并请求,请设置其目标分支,并在其管道成功时将其设置为合并:

git push -u origin -o merge_request.create \
  -o merge_request.target=branch1 \
  -o merge_request.merge_when_pipeline_succeeds
更新现有合并请求 当使用现有打开的合并请求推送分支时,
target
merge\u-When\u-pipeline\u成功时
可用于更新合并请求

因此,在您的情况下,可以添加目标:

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

嗨,谢谢你的回答。遗憾的是,添加目标选项没有帮助。我仍然得到“因为源分支刚刚更新,所以自动合并被中止”。我可以成功设置“merge_when_pipeline_successed”推送选项的唯一方法是在没有MR的情况下,在同一推送中创建MR(-o merge_request.create)。因此,我可以使用此选项创建MR,但无法更新现有的MR。它是bug还是功能?:)@DanielBarton可能是一个bug,这意味着一个新问题。
git push -u origin -o merge_request.create \
  -o merge_request.target=branch1 \
  -o merge_request.merge_when_pipeline_succeeds
git push origin develop -o merge_request.merge_when_pipeline_succeeds \
  -o merge_request.target=master