我有一个名为的分支dev
,它与origin/dev
. 我想master
使用以下命令合并到(受保护的),但它不会推动创建合并请求。
$ git push -o merge_request.create -o merge_request.target=master
Everything up-to-date
如何从 CLI 已推送的提交创建合并请求?
我有一个名为的分支dev
,它与origin/dev
. 我想master
使用以下命令合并到(受保护的),但它不会推动创建合并请求。
$ git push -o merge_request.create -o merge_request.target=master
Everything up-to-date
如何从 CLI 已推送的提交创建合并请求?
如果您的分支与origin 上的dev
分支是最新的,那么您的命令将不会执行任何操作,因为.dev
git push
Everything up-to-date
要从 CLI 创建合并请求,请创建一个新分支 (from dev
) 以进行推送:
git checkout -b dev2
git push -o merge_request.create -o merge_request.target=master
我试图自动创建合并请求,但想在第一次和以后进行推送以创建实际的合并请求。在原始推送到远程之后,我使用了这个技巧:
git commit --amend --no-edit
git push --force-with-lease origin [branch_name] -o merge_request.create -o merge_request.target=master
修改将保持原始提交不变,并允许您在创建合并请求时推送相同的分支。
该解决方案基于this,但我的更通用。下面的解决方案创建了一个自定义命名的分支来推送它,它请求在合并时删除新创建的分支。
# Create new unique merge-request branch ex: 1234abc-to-master
git checkout -b `git rev-parse --short HEAD`"-to-master"
# Create merge request with upstream this new branch
git push -u origin `git rev-parse --abbrev-ref HEAD` -o merge_request.create -o merge_request.target=master -o merge_request.remove_source_branch