章节 ▾
第二版
-
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 在 变基和拣选工作流 中进行了描述和演示。
git rebase
git rebase
命令本质上是一个自动化的 cherry-pick
。它确定一系列提交,然后将它们按相同顺序逐一拣选到其他地方。
变基在 变基 中进行了详细介绍,其中包括变基已公开分支所涉及的协作问题。
我们会在 替换 中实践使用它,作为将历史记录拆分为两个独立仓库的示例,同时也会使用 --onto
标志。
我们会在 Rerere 中介绍变基时遇到合并冲突的情况。
我们还会在 修改多个提交消息 中以交互式脚本模式配合 -i
选项使用它。
git revert
git revert
命令本质上是 git cherry-pick
的反向操作。它会创建一个新提交,该提交应用了你目标提交中引入的更改的精确反向操作,本质上是撤销或恢复了该提交。
我们会在 撤销提交 中使用此命令来撤销一个合并提交。