如何从已从 CLI 推送的提交创建合并请求?
How to create a merge request from an already pushed commit from CLI?
我有一个名为 dev
的分支,它与 origin/dev
是最新的。我想使用以下命令合并到(受保护的)master
,但它既不推送也不创建合并请求。
$ git push -o merge_request.create -o merge_request.target=master
Everything up-to-date
如何根据已从 CLI 推送的提交创建合并请求?
如果您的 dev
分支与原点上的 dev
分支是最新的,您的 git push
命令将不会执行任何操作,因为 Everything up-to-date
.
要从 CLI 创建合并请求,请创建一个新分支(来自 dev
)以进行推送:
git checkout -b dev2
git push -o merge_request.create -o merge_request.target=master
此解决方案基于 ,但我的更通用。下面的解决方案创建了一个自定义命名的分支来推送它,并在合并时请求删除新创建的分支。
# 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
我试图自动创建合并请求,但想先进行推送,然后再进行推送以创建实际的合并请求。在原始推送到远程之后,我已经使用了这个技巧:
git commit --amend --no-edit
git push --force-with-lease origin [branch_name] -o merge_request.create -o merge_request.target=master
修改将保持原始提交不变,并允许您在创建合并请求时推送相同的分支。
我有一个名为 dev
的分支,它与 origin/dev
是最新的。我想使用以下命令合并到(受保护的)master
,但它既不推送也不创建合并请求。
$ git push -o merge_request.create -o merge_request.target=master
Everything up-to-date
如何根据已从 CLI 推送的提交创建合并请求?
如果您的 dev
分支与原点上的 dev
分支是最新的,您的 git push
命令将不会执行任何操作,因为 Everything up-to-date
.
要从 CLI 创建合并请求,请创建一个新分支(来自 dev
)以进行推送:
git checkout -b dev2
git push -o merge_request.create -o merge_request.target=master
此解决方案基于
# 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
我试图自动创建合并请求,但想先进行推送,然后再进行推送以创建实际的合并请求。在原始推送到远程之后,我已经使用了这个技巧:
git commit --amend --no-edit
git push --force-with-lease origin [branch_name] -o merge_request.create -o merge_request.target=master
修改将保持原始提交不变,并允许您在创建合并请求时推送相同的分支。