章節 ▾
第二版
-
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
的反向操作。它會建立一個新提交,該提交應用了你目標提交中引入的更改的精確反向操作,本質上是撤銷或恢復了該提交。
我們會在 撤銷提交 中使用此命令來撤銷一個合併提交。