Git Cherry-Pick 指南
Git Cherry-Pick 完整指南
目录
- 什么是 Cherry-Pick
- 基本语法
- 常用选项
- 使用场景
- 实际示例
- 处理冲突
- 最佳实践
- 注意事项
- 与其他命令的对比
什么是 Cherry-Pick
Cherry-pick 是 Git 中一个强大的功能,它允许你从一个分支中选择特定的提交(commit),并将其应用到当前分支上。这就像从果树上挑选成熟的樱桃一样,只选择你需要的部分。
核心概念
- 选择性合并:只合并特定的提交,而不是整个分支
- 创建新提交:cherry-pick 会在目标分支上创建一个新的提交,具有相同的更改但不同的哈希值
- 保持历史清洁:避免不必要的合并提交
基本语法
git cherry-pick <commit-hash>
基本示例
# 将特定提交应用到当前分支
git cherry-pick a1b2c3d4# 一次性应用多个提交
git cherry-pick commit1 commit2 commit3# 应用一个范围的提交(不包含起始提交)
git cherry-pick start-commit..end-commit# 应用一个范围的提交(包含起始提交)
git cherry-pick start-commit^..end-commit
常用选项
1. -n, --no-commit
git cherry-pick -n <commit-hash>
- 应用更改但不自动提交
- 允许你在提交前进行修改或合并多个 cherry-pick
2. -x
git cherry-pick -x <commit-hash>
- 在提交消息中添加原始提交的引用
- 格式:
(cherry picked from commit <hash>)
3. -m <parent-number>
git cherry-pick -m 1 <merge-commit-hash>
- 用于 cherry-pick 合并提交
- 指定要使用哪个父提交作为主线
4. --continue
git cherry-pick --continue
- 解决冲突后继续 cherry-pick 过程