cherry-pick命令的基本用法
cherry-pick命令的基本语法如下:
git cherry-pick <commit>
其中,<commit>是要应用的提交的哈希值或分支名。该命令会将指定的提交应用到当前分支上,并创建一个新的提交。
使用场景
cherry-pick命令常用于以下场景:
- 合并单个提交:
当我们只想应用某个分支上的一个提交到当前分支时,可以使用cherry-pick命令,而不需要合并整个分支。 - 修复bug:
当我们在一个分支上修复了一个bug,并希望将这个修复应用到其他分支上时,可以使用cherry-pick命令。 - 提取特定功能:
当我们在一个分支上开发了一个新功能,并希望将该功能应用到其他分支上时,可以使用cherry-pick命令。
示例
master分支上的提交记录,如下图所示:
文件内容如下:
add A by master
add B by master bb
add C by master
另一个分支dev上的提交记录,如下图所示:
文件内容如下:
add A by master aa
add B by master
add C by master cc
add dd
现在,我们打算将dev分支上的add aa after A和add dd at new line提交应用到master分支上,则:
- 切换到master分支
git checkout master
- 输入以下命令
git cherry-pick 67b48e1bde3032061363daa85c1d35e7f096b0b8
有冲突,则解决冲突,然后git add -u
,git cherry-pick --continue
。
然后,输入:
git cherry-pick 6e43cfdd6c8d5745fe649c3acb9ac91165eaa65c
解决冲突后,git add -u
,然后git cherry-pick --continue
。
完成上述操作后,master的提交记录为:
文件内容为:
add A by master aa
add B by master bb
add C by master
add dd