简介:
cherry-pick 和它的名称翻译一样,精心挑选,挑选一个我们需要的 commit 进行操作。它可以将在其他分支上的 commit 修改,移植到当前的分支。
git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。
git cherry-pick <commitHash> // 将指定提交的commitHash应用于当前分支
示例
1.现状下面两个分支:
a - b - c - d Master
\
e - f - g Feature
2.将提交f应用到master分支:
2.1 切换到 master 分支
git checkout master
2.2 Cherry pick 操作
git cherry-pick f
结果:上面的操作完成以后,代码库就变成了下面的样子。
a - b - c - d - f Master
\
e - f - g Feature
从上面可以看到,master分支的末尾增加了一个提交f。
git cherry-pick命令的参数,不一定是提交的哈希值,分支名也是可以的,表示转移该分支的最新提交。
git cherry-pick feature
上面代码表示将feature分支的最近一次提交,转移到当前分支
命令:
git cherry-pick f //将f 提交合并进来
git cherry-pick <HashA> <HashB> 将多个提交一次转移。
git cherry-pick A..B //一系列的连续提交 : 1. 不包含A 2.提交 A 必须早于提交 B
git cherry-pick A^..B //一系列的连续提交 : 1. 包含A 2.提交 A 必须早于提交 B
//当出现冲突
// 操作过程中发生代码冲突,Cherry pick 会停下来, 用户解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用下面的命令,让 Cherry pick 过程继续执行。
git add .
git cherry-pick --continue