章節 ▾
第二版
-
1. 開始
-
2. Git 基礎
-
3. Git 分支
-
4. 伺服器上的 Git
- 4.1 協定
- 4.2 在伺服器上取得 Git
- 4.3 產生您的 SSH 公開金鑰
- 4.4 設定伺服器
- 4.5 Git Daemon
- 4.6 智慧 HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第三方託管選項
- 4.10 總結
-
5. 分散式 Git
-
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 命令 - 修補
修補 (Patching)
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
。它建立一個新的提交,該提交會應用您所針對的提交中所引入的變更的完全相反的變更,從本質上來說是撤消或還原它。
我們在反轉提交中使用它來還原合併提交。