git cherry-pick,它允许你将一个或多个提交(commit)从一个分支应用到另一个分支上。这个命令特别适用于当你想要将某个分支上的改动单独应用到另一个分支上,而不是合并整个分支。
基本用法
git cherry-pick <commit-hash>
<commit-hash> 是你想要应用到当前分支的提交的哈希值
示例
假设你有两个分支,main 和 feature。feature 分支上有一系列提交,其中某个特定的提交(比如修复了一个关键的bug)你想要应用到 main 分支上,而不合并整个 feature 分支。操作如下:
1.切换到目标分支
git checkout main
2.使用 git cherry-pick 命令
首先,你需要知道那个特定提交的哈希值。你可以通过 git log 查看 feature 分支的提交历史来找到它。
git log feature
假设你找到了想要应用的提交的哈希值是 abcdef1,那么你可以使用下面的命令来应用这个提交:
git cherry-pick abcdef1
Git 会尝试将这个提交应用到当前分支(main)上。如果一切顺利,这个提交就会被添加到 main 分支的历史中,就像它原本就是在这个分支上创建的一样。
3.解决可能出现的冲突
如果 cherry-pick 过程中出现了冲突,Git 会停下来,让你手动解决这些冲突。你可以像处理其他合并冲突一样来处理它们,使用 git status 查看冲突的文件,手动修改这些文件,然后使用 git add 来标记冲突已解决,最后使用 git cherry-pick --continue 来继续 cherry-pick 过程。
如果你决定放弃这个 cherry-pick 操作,可以使用 git cherry-pick --abort 来取消它。