章节 ▾ 第二版

A3.8 附录 C:Git 命令 - 打补丁

打补丁

Git 中的一些命令围绕着这样一个概念:将提交视为它们引入的更改,就好像提交序列是一系列补丁。这些命令可帮助你以这种方式管理你的分支。

git cherry-pick

git cherry-pick 命令用于获取单个 Git 提交中引入的更改,并尝试将其作为新提交重新引入到当前所在的分支上。 这对于仅从一个分支中单独获取一个或两个提交而不是合并分支(这会获取所有更改)非常有用。

Cherry picking 在 变基和 Cherry-Picking 工作流 中进行了描述和演示。

git rebase

git rebase 命令基本上是一个自动化的 cherry-pick。 它确定一系列提交,然后以相同的顺序将它们逐个 cherry-pick 到其他位置。

变基在 变基 中有详细介绍,包括涵盖与已经公开的变基分支相关的协作问题。

我们在 替换 中,通过一个将历史记录拆分为两个独立仓库的示例,在实践中使用了它,并使用了 --onto 标志。

我们在 Rerere 中经历了在变基期间遇到合并冲突。

我们还在交互式脚本模式下使用它,在 更改多个提交消息 中使用 -i 选项。

git revert

git revert 命令本质上是反向的 git cherry-pick。 它创建一个新的提交,该提交应用与你正在定位的提交中引入的更改完全相反的更改,本质上是撤消或还原它。

我们在 撤消提交 中使用它来撤消合并提交。

scroll-to-top