git cherry-pick

本文详细介绍了如何使用 Git 的 cherry-pick 命令来选取并应用特定的提交,包括如何将一个分支的提交应用到另一个分支、如何重新构建一系列提交等高级用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git cherry-pick 提交命令会在当前分支上应用给定提交引入变更。这将引入一个新的独特的提交。严格来说,使用 git cherry-pick 并不改变版本库中的现有历史记录,而是添加历史记录。

跟其他通过应用 diff 来引入变更的 Git 操作一样,你可能需要解决冲突来完全应用给定提交的变更。

git cherry-pick 命令通常用于把版本库中的一个分支的特定提交引入一个不同的分支中。常见的用法是把维护分支的提交移植到开发分支中。

$ git checkout rel_2.3

$ git cherry-pick dev~2  # commit dev~2,above

这是一个新提交,与 dev~2 大致相似,但是需要调整——也需要解决冲突——来应用在分支 rel_2.3 上而不是 dev 上。dev~2 后面的提交都不会在 rel_2.3 后面。只有指定的提交会取出并应用。

cherry-pick 的另一种常见用途是重建一系列提交,通过从一个分支选一批提交,然后把它们引入一个新分支。

假设你在开发分支 my_dev 上有一系列提交,并且你想把它们引入 master 分支,但是以不同的顺序引入。

$ git checkout master
$ git cherry-pick my-dev^
$ git cherry-pick my-dev~3
$ git cherry-pick my_dev

在这种情况下,提交顺序经过了相当大的改变,你很有可能不得不解决冲突。

最初, git cherry-pick 命令一次只能选择应用一个提交。然而,在 Git 的较新版本中, git cherry-pick 允许在一条命令里选择并应用一个范围的提交。如:

# 在master分支上
$ git cherry-pick my_dev~2..my_dev

将在 master 分支上应用新的提交 my_dev~2’、my_dev^’、my_dev’。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值