对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。
作用
部分代码的转移,使用git cherry-pick
很合适
简单用法
场景:开发某个项目,有一个线上分支 release,开发分支 dev。 dev 有3个提交,分别是 A ,B ,C 。release 分支只想加入 C 功能, 此时合并操作无法满足,因为直接合并 dev,会将3个提交都合并上,我想合并就只有 C,不要 A,B。此时就需要-–cherry pick!
# 切换到release分支
git checkout release
# 找到C提交的的`commitHash`
git log dev
# Cherry pick 操作
git cherry-pick <commitHash>
上面命令就会将指定的提交commitHash
,应用于当前分支。这会在当前分支产生一个新的提交,当然它们的哈希值会不一样。
当然,git cherry-pick
命令的参数,不一定是提交的哈希值,分支名也是可以的,表示转移该分支的最新提交。
git cherry-pick dev
上面代码表示将dev分支的最近一次提交,转移到当前分支。
截图
git log dev