Gitlab将“​​合并请求”与提交合并

时间:2019-10-04 16:14:55

标签: merge gitlab merge-request

我认为这是一个愚蠢的问题,但我不知道该如何使用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,但是我不能使用它。有人知道我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

对于最近的GitLab 12.1,您可以看到该错误消息在gitlab-foss commit 882e798issue 63187中进行了更新。

merge_request.merge_when_pipeline_succeeds选项来自MR (Merge Request) 30249(GitLab 11.10,2019年4月),gitlab-foss MR 26752issue 43263)。
MR包括:

  

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

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

更新现有的合并请求

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

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

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