git cherry-pick 只合并某一个提交到当前分支的方法
只合并线上某一个提交到当前分支,用 git cherry-pick,不要用 merge。下面给你完整、可直接照抄的步骤。
一、流程(本地操作,最终推到线上)
1. 先拉最新代码、切到目标分支
# 拉取线上所有分支最新信息
git fetch origin
# 切换到你要“合入”的分支(比如 main / master)
git checkout main2. 找到线上那个提交的 hash
查看目标分支(比如 feature/xxx)的提交:
git log --oneline origin/feature/xxx输出类似:
a1b2c3d 修复核销bug ← 你要的这一条
e4f5g6h 优化列表样式
...复制你需要的那个 7位 hash(a1b2c3d)。
3. 把这一个提交“摘”到当前分支
git cherry-pick a1b2c3d- 成功:自动生成一个新 commit(hash 和线上那个不一样,但代码改动完全一样)。
- 有冲突:会停下来让你解决冲突。
4. 冲突怎么处理(常见)
# 1. 手动改完冲突文件后
git add .
# 2. 继续 cherry-pick
git cherry-pick --continue如果搞砸了想放弃:
git cherry-pick --abort5. 推到线上
git push origin main二、常用进阶
一次 pick 多个不连续提交
git cherry-pick hash1 hash2 hash3pick 一个连续区间(含首尾)
git cherry-pick startHash^..endHash只把代码拿过来、不自动提交(便于自己改)
git cherry-pick -n a1b2c3d一句话总结:fetch → 切目标分支 → log 找 hash → cherry-pick → push。
版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/1482.html
转载时须注明出处及本声明