Git基础教程(十三)进阶操作之Cherry-Pick:Git魔法师的高级操作:Cherry-Pick,代码搬家的艺术

第一章:为什么你需要掌握Cherry-Pick?

作为一名开发者,你是否曾经遇到过这种情况:在feature分支上开发了一个很棒的功能,修复了一个棘手的bug,或者写了一个实用的工具函数,突然意识到:“这个提交在主分支或者其他分支上也急需!”

传统的做法可能是合并整个分支,但这样可能会带入不需要的代码,或者因为分支差异太大而导致合并冲突。这时候,Git Cherry-Pick就像一位精准的代码快递员,帮你把指定的提交"快递"到当前分支,只取所需,不多不少。

Cherry-Pick是什么?

Git Cherry-Pick命令允许你选择某个分支上的一个或多个提交,然后将它们应用到当前分支上。这就像是在一棵樱桃树上只摘下最成熟、最甜美的樱桃,而不是把整棵树的樱桃都摘下来。

与merge和rebase不同,cherry-pick提供了更精细的控制能力:

  • Merge:合并整个分支的所有更改
  • Rebase:重新应用整个分支的一系列提交
  • Cherry-pick:只选择并应用特定的提交

第二章:Cherry-Pick基础入门

基本语法

Cherry-pick的基本语法非常简单:

git cherry-pick <commit-hash>

其中,<commit-hash>是你想要应用的提交的哈希值。你也可以一次选择多个提交:

git cherry-pick <commit-hash1> <commit-hash2> <commit-hash3>

或者使用范围选择:

git cherry-pick <start-commit-hash>^..<end-commit-hash>

工作流程示例

假设我们有以下提交历史:

* 1a2b3c4 (feature) 添加新功能C
* 5d6e7f8 添加新功能B
* 9a0b1c2 添加新功能A
* a1b2c3d (main) 初始提交

现在我们在main分支上,只想应用feature分支上的"添加新功能B"提交:

# 切换到main分支
git checkout main

# 使用cherry-pick应用特定提交
git cherry-pick 5d6e7f8

执行后,提交历史变为:

* d4e5f6a (main) 添
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值