使用Cherry-pick合并指定分支指定提交记录

使用 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 是最常用也是最适合"合并单独某条记录"场景的方法。

相关推荐
江屿风2 分钟前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
程序员沉梦听雨7 分钟前
【Git】fork工作流与上游同步
git
高调的涵涵3 天前
删了1.2GB,.git仍是1.2GB
git
程序员沉梦听雨3 天前
【Git】git-submodule子模块管理
git
全栈陈序员4 天前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
7177774 天前
Git自建用什么工具比较好:Gitea、Forgejo、GitLab CE与Gitee的选型对比
git·gitlab·gitea
lsc_blog5 天前
年底还在招的岗位,先确认缺口和到岗要求
git·缓存·ci/cd·职场和发展·github
全栈陈序员5 天前
【Git】从入门到精通(十一)—— git reset 三种模式详解
git·elasticsearch
全栈陈序员5 天前
【Git】从入门到精通(十)—— 撤销与恢复:git checkout与git restore
运维·网络·数据库·git
全栈陈序员6 天前
【Git】从入门到精通(五)—— git add:将文件加入暂存区
大数据·git·elasticsearch