Git - Cherry-pick命令

Git - Cherry-pick命令 首页 / Git入门教程 / Git - Cherry-pick命令

Git中的Cherry-picking代表将某个提交从一个分支应用于另一个分支。万一您犯了一个错误并且将更改提交到了错误的分支,但又不想合并整个分支。您可以还原提交并将其应用于另一个分支。

Git Cherry-pick

Cherry-picking的主要是应用一些现有提交所引入的更改。仔细查看存储库历史记录中的上一个提交,并更新对当前工作树的最后一次提交的一部分更改。这个定义很简单,但是当有人尝试从一个分支中挑选一个提交,甚至从另一个分支中挑选一个时,定义就更加复杂了。

Cherry-pick是一个有用的工具,但始终不是一个好的选择。它可能会导致重复提交和某些其他情况,这些情况是首选其他合并而不是精心挑选的。在某些情况下,它是一个有用的工具。它与 merge rebase 命令之类的不同方式形成对比。合并和变基通常可以在另一个分支中应用许多提交。

Cherry-picking

假设您正在与一个开发人员团队一起从事大中型项目。其他团队成员提出的一些更改,您想将其中的一些应用到您的主项目中,而不是全部。由于管理多个Git分支之间的更改可能成为一项复杂的任务,因此您不想将整个分支合并到另一个分支中。您只需要选择一两个特定的提交即可。从其他分支到主项目分支中进行一些更改称为"Cherry-picking"。

您可以选择的某些方案:

场景1:偶然在错误的分支中进行了提交。

Git cherry-pick有助于应用错误分支中意外进行的更改。假设我想在master分支中进行提交,但是由于错误,我们在其他任何分支中进行了提交。参见下面的提交。

Git Cherry-pick

在上面的示例中,我想提交master分支,但是偶然地我在新分支中进行了提交。要将新分支的所有更改更改为master分支,我们将使用git pull,但是对于此特定的提交,我们将使用git cherry-pick命令。请参见以下输出:

Git Cherry-pick

在给定的输出中,我已使用git log命令检查提交历史记录。复制要在master分支上进行的特定提交ID。现在切换到master分支并在那里进行挑选。请参见以下输出:

语法:

$ git cherry-pick <commit id>

输出:

Git Cherry-pick

从给定的输出中,您可以看到我已经用git cherry-pick命令粘贴了提交ID,并将其提交到了我的master分支中。您可以通过git log命令进行检查。

无涯教程网

场景2:做出了另一位团队成员提出的更改。

Cherry-picking的另一个用途是进行其他团队成员提出的更改。假设我的团队成员之一对主项目进行了任何更改,并为主项目提出了建议。您可以在审核后愉快地选择它。

Cherry-picking用法

  • 这是团队合作的便捷工具。
  • 错误修复的情况下,这是必要的,因为错误已在开发分支中修复并对其提交进行了测试。
  • 它主要用于撤消更改和恢复丢失的提交
  • 您可以使用git cherry-pick代替其他选项来避免无用的冲突
  • 当由于各个分支中的版本不兼容而无法进行完全分支合并时,这是一个有用的工具。
  • git cherry-pick用于访问引入到子分支的更改,而无需更改分支。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入浅出区块链 -〔陈浩〕

微服务架构实战160讲 -〔杨波〕

如何做好一场技术演讲 -〔极客时间〕

网络编程实战 -〔盛延敏〕

浏览器工作原理与实践 -〔李兵〕

DDD实战课 -〔欧创新〕

编译原理实战课 -〔宫文学〕

HarmonyOS快速入门与实战 -〔QCon+案例研习社〕

编程高手必学的内存知识 -〔海纳〕

好记忆不如烂笔头。留下您的足迹吧 :)