简单说就是将某个分支的某次提交应用到当前分支上来。
看图说话:
图片来源:点击这里
这动图真是太好了
当我需要某个分支的全部提交时,可以使用变基 git rebase ,但我只需要这个分支里的某一次提交时,这个功能便出现了
git cherry-pick XXXXXXX
这个命令会将目标提交复制到自己的分支上并生成一个新的commit id,并且和目标分支的提交完全无关。
如果需要一次选择多个提交进行合并的话可以执行:
git cherry-pick A..B
但是这里的A到B是左开右闭,是除了A以外的其他提交会合并,如果要包含A就要执行这个命令:
git cherry-pick A^..B
有合并就有冲突,出现冲突后可以执行如下命令:
git cherry-pick --abort
代表恢复到cherry-pick之前的状态
或者执行如下命令:
git cherry-pick --quit
代表退出当前cherry-pick但是冲突文件会变成 modified 状态