使用 Cherry-pick在 Git 中合并某个分支的某条提交记录
1.Cherry-pick
将指定提交的更改应用到当前分支:
bash
# 切换到目标分支
git checkout target-branch
# 合并指定提交
git cherry-pick <commit-hash>
# 如果需要合并多个连续的提交
git cherry-pick <commit-hash1>..<commit-hash2>
# 合并多个不连续的提交
git cherry-pick <commit-hash1> <commit-hash2> <commit-hash3>
2.Cherry-pick常用选项
bash
# 不自动提交,只暂存更改
git cherry-pick -n <commit-hash>
# 编辑提交信息
git cherry-pick -e <commit-hash>
# 如果发生冲突,解决后继续
git cherry-pick --continue
# 放弃 cherry-pick
git cherry-pick --abort
3.注意事项
- 冲突处理:cherry-pick 可能会产生冲突,需要手动解决
- 提交历史:cherry-pick 会创建新的提交 SHA,不保留原始提交的 SHA
- 依赖关系:如果选择的提交依赖其他未合并的提交,可能会有冲突或编译问题
4.最佳实践
bash
# 1. 查看要 cherry-pick 的提交
git log source-branch --oneline
# 2. 确保当前分支干净
git status
# 3. 执行 cherry-pick
git cherry-pick <commit-hash>
# 4. 如有冲突,解决后
git add .
git cherry-pick --continue
Cherry-pick 是最常用也是最适合"合并单独某条记录"场景的方法。