有时只想合并其它分支到某次提交,而不是所有提交。
一 切换到当前分支
首先,在做一次可能有冲突的合并前尽可能保证工作目录是干净的。 如果你有正在做的工作,要么提交到一个临时分支要么储藏它。 这使你可以撤消在这里尝试做的*任何事情*。
二 VSCode安装GitLens插件
可以直接以图形化方式进行各种GIt操作,免去敲Git命令。
三 挑选提交
git cherry-pick 某次提交的哈希值
cherry-pick原意是摘樱桃,引申意思为挑选。
例如,使用GitLens查看其它分支的某次提交的哈希值,然后执行git cherry-pick 123a4e5
四 解决冲突(若有冲突)
使用VSCode在编辑器界面中合并冲突。
五 暂存更改(若有冲突)
在VSCode中点击暂存更改,或者执行git add .命令。于是文件被追踪,并处于暂存状态。
六 继续挑选(若有冲突)
冲突会导致挑选中断,于是继续。
git cherry-pick --continue
输入本次提交的说明信息。
七 推送到远程分支
git push
说明
如果没有冲突,则4、5、6三步直接跳过。