Git 提交相关(cherry-pick)

Git 提交相关(cherry-pick)

1️⃣ 最基础用法

git cherry-pick <commit-hash>
git cherry-pick a1b2c3d

效果:

  • a1b2c3d 那次提交的改动
  • 复制一份
  • 提交到当前分支

⚠️ commit hash 变了(是新提交)

2️⃣ 一次 pick 多个提交

连续提交

git cherry-pick A^..D

不连续提交

git cherry-pick A B C

3️⃣ 常用高频参数(很重要)

✅ 不自动提交(先看看)

git cherry-pick -n <commit>

适合:

  • 想改点东西
  • 想把多个 commit 合成一个

✅ 保留原作者信息

git cherry-pick -x <commit>

提交信息里会自动加:

(cherry picked from commit xxxx)

👉 公司里强烈推荐


✅ 只 pick 改动,不要提交信息

git cherry-pick -e <commit>

会让你编辑 commit message

4️⃣ 冲突了怎么办(必会)💥

发生冲突时

# 手动解决冲突后
git add .
git cherry-pick --continue

放弃这次 pick

git cherry-pick --abort

5️⃣ 反向 cherry-pick(撤销某次提交)

git cherry-pick -n <commit>
git reset

⚠️ 或更推荐:

git revert <commit>

7️⃣ 常见坑(踩过的都懂)

❌ pick 顺序错 → 冲突爆炸
❌ pick 已被 merge 的提交 → 重复代码
❌ 在脏工作区 pick → git status

🧠 两种状态对照表

目标命令
放到暂存区,不提交git cherry-pick -n cc
放到工作区git cherry-pick -n ccgit restore --staged .
再自己提交git commit -m "xxx"
合并多个提交为一个多次 cherry-pick -n

⚠️ 冲突时怎么处理?

  • 解决冲突

  • 如果你只是想要改动,不想提交

    git add .
    git cherry-pick --continue
    

    👉 这一步只是“完成应用 patch”,不会生成 commit

  • 放弃整个操作:

    git cherry-pick --abort
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值