章节 ▾
第二版
-
A1. 附录 A:Git 在其他环境中
- A1.1 图形界面
- A1.2 Visual Studio 中的 Git
- A1.3 Visual Studio Code 中的 Git
- A1.4 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git
- A1.5 Sublime Text 中的 Git
- A1.6 Bash 中的 Git
- A1.7 Zsh 中的 Git
- A1.8 PowerShell 中的 Git
- A1.9 总结
-
A2. 附录 B:在你的应用中嵌入 Git
-
A3. 附录 C:Git 命令
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
。 它创建一个新的提交,该提交应用与你正在定位的提交中引入的更改完全相反的更改,本质上是撤消或还原它。
我们在 撤消提交 中使用它来撤消合并提交。