Git Cherry-pick2025年3月17日 | 阅读 3 分钟 在 Git 中,Cherry-pick 指的是将某个分支中的一些提交应用到另一个分支。 如果您犯了一个错误,将更改提交到了错误的分支,但又不希望合并整个分支。您可以还原该提交并将其应用到另一个分支。 ![]() Cherry-pick 的主要目的是应用某些现有提交引入的更改。 Cherry-pick 会查看存储库历史记录中的先前提交,并更新作为上一次提交一部分的更改到当前工作树。 定义很简单,但是当有人尝试 cherry-pick 提交,甚至从另一个分支进行 cherry-pick 时,会变得更加复杂。 Cherry-pick 是一个有用的工具,但它并不总是一个好选择。 它可能导致重复提交以及其他场景,在这种场景下,更倾向于使用其他合并方式而不是 cherry-picking。 它适用于一些情况。 它与不同的方式(例如 **合并** 和 **变基** 命令)形成对比。 合并和变基通常可以在另一个分支中应用许多提交。 为什么使用 Cherry-Pick假设您正在与一个开发团队合作,进行一个中型到大型的项目。 另一个团队成员提出了一些更改,您希望将其中一些更改应用到您的主项目中,而不是全部。 由于管理几个 Git 分支之间的更改可能成为一项复杂的任务,并且您不想将整个分支合并到另一个分支中。 您只需要选择一两个特定的提交。 从其他分支中选择一些更改到您的主项目分支中称为 cherry-picking。 可以使用 cherry-pick 的一些场景 场景 1:不小心在错误的分支中进行了提交。 Git cherry-pick 有助于应用错误地在错误分支中进行的更改。 假设我想在主分支中提交,但错误地在任何其他分支中进行了提交。 请参阅以下提交。 ![]() 在上面的例子中,我想为 master 分支进行提交,但我不小心在 new 分支中进行了提交。 要将新分支的所有更改应用到 master 分支中,我们将使用 git pull,但对于这次提交,我们将使用 git cherry-pick 命令。 请参阅以下输出 ![]() 在给定的输出中,我使用了 git log 命令来检查提交历史记录。 复制您想要在 master 分支上进行的特定提交 ID。 现在切换到 master 分支并在那里进行 cherry-pick。 请参阅以下输出 语法 输出 ![]() 从给定的输出中,您可以看到我使用 git cherry-pick 命令粘贴了提交 ID,并将该提交应用到了我的 master 分支中。 您可以通过 git log 命令进行检查。 场景 2:进行了其他团队成员提出的更改。 Cherry-picking 的另一个用途是进行其他团队成员提出的更改。 假设我的一个团队成员在主项目中进行了一些更改,并建议将其用于主项目。 您可以在审查后进行 cheery-pick。 Cherry-pick 的用法
下一主题Git Log |
我们请求您订阅我们的新闻通讯以获取最新更新。