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页面上看到这样一条消息:
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