章节 ▾ 第二版

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

打补丁

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

git cherry-pick

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

变基和摘樱桃工作流中描述并演示了摘樱桃。

git rebase

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

变基在变基中详细介绍,包括处理对已公开分支进行变基所涉及的协作问题。

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

我们在Rerere中讨论了在变基期间遇到合并冲突的情况。

我们还在修改多个提交消息中通过 -i 选项以交互式脚本模式使用它。

git revert

git revert 命令本质上是一个反向的 git cherry-pick。它创建一个新提交,该提交应用与你所针对的提交中引入的更改完全相反的更改,本质上是撤消或回滚它。

我们在撤销提交中使用它来撤销一个合并提交。