GitLab 的 "Cherry Pick" 功能在 Web 界面中一次只能选择一个提交进行拣选。当我们需要同时拣选多个提交的时候,可以按照如下方法使用指令操作。
-
切换到目标分支(一般是从目标分支克隆出来的临时分支,后再合并到目标分支中):
bashgit checkout target-branch
-
使用
git cherry-pick
指定多个提交(其中提交ID可以通过gitlab的网页进行查看和复制):bashgit cherry-pick <commit-hash-1> <commit-hash-2> <commit-hash-3>
例如:
bashgit cherry-pick abc123 def456 ghi789
-
自动合并为一个提交(可选) :
如果你希望将这多个拣选的更改合并成一个单一的提交,可以在命令后加上
-n
(或--no-commit
)参数,先暂存更改,然后再一次性提交:bashgit cherry-pick -n abc123 def456 ghi789 git commit -m "合并拣选了多个提交"
这样,原本的三个提交的更改会被合并到一个新的提交中。
然后可以提交到临时分支,再使用合并代码将临时分支合并到目标分支中