-
1. 起步
-
2. Git 基礎
-
3. Git 分支
-
4. 伺服器上的 Git
- 4.1 協議
- 4.2 在伺服器上部署 Git
- 4.3 生成 SSH 公鑰
- 4.4 架設伺服器
- 4.5 Git Daemon
- 4.6 Smart 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.5 附錄 C: Git 命令 - 共享和更新專案
共享和更新專案
Git 中訪問網路的命令不多,幾乎所有命令都在本地資料庫上操作。當你準備分享你的工作或從其他地方拉取更改時,有一些命令會處理遠端倉庫。
git fetch
git fetch
命令與遠端倉庫通訊,抓取該倉庫中不在當前倉庫中的所有資訊,並將其儲存在本地資料庫中。
我們首先在從遠端倉庫抓取和拉取中檢視此命令,並在遠端分支中繼續檢視其使用示例。
我們還在貢獻專案的幾個示例中使用它。
我們在引用規範中設定了高度自定義的引用規範,以使git fetch
執行與預設行為略有不同的操作。
git pull
git pull
命令基本上是 git fetch
和 git merge
命令的組合,Git 會從你指定的遠端倉庫抓取,然後立即嘗試將其合併到你當前所在的分支。
我們在從遠端倉庫抓取和拉取中快速介紹了它,並在檢查遠端倉庫中展示瞭如果你執行它將合併什麼。
我們還在變基時的變基中查看了如何使用它來幫助解決變基的困難。
我們在檢出遠端分支中展示瞭如何使用 URL 以一次性方式拉取更改。
最後,我們非常快速地提到,你可以在簽署提交中使用--verify-signatures
選項來驗證你拉取的提交是否已進行 GPG 簽名。
git push
git push
命令用於與另一個倉庫通訊,計算你的本地資料庫擁有而遠端倉庫沒有的內容,然後將差異推送到另一個倉庫。它需要對另一個倉庫的寫入許可權,因此通常需要某種方式進行認證。
我們首先在推送到遠端倉庫中檢視git push
命令。在這裡,我們涵蓋了將分支推送到遠端倉庫的基本知識。在推送中,我們更深入地探討了推送特定分支,並在跟蹤分支中查看了如何設定跟蹤分支以自動推送。在刪除遠端分支中,我們使用--delete
標誌透過git push
刪除伺服器上的分支。
在貢獻專案中,我們看到了幾個使用git push
透過多個遠端倉庫共享分支工作的示例。
我們在共享標籤中看到如何使用--tags
選項來分享你建立的標籤。
在釋出子模組更改中,我們使用--recurse-submodules
選項來檢查我們所有子模組的工作是否已釋出,然後再推送父專案,這在使用子模組時非常有用。
在其他客戶端鉤子中,我們簡要地討論了pre-push
鉤子,這是一個我們可以設定在推送完成前執行的指令碼,以驗證是否允許推送。
最後,在推送引用規範中,我們查看了使用完整引用規範進行推送,而不是通常使用的通用快捷方式。這可以幫助你非常具體地指定希望分享的工作。
git remote
git remote
命令是管理遠端倉庫記錄的工具。它允許你將長 URL 儲存為短控制代碼,例如“origin”,這樣你就無需一直輸入它們。你可以擁有多個這樣的控制代碼,git remote
命令用於新增、更改和刪除它們。
該命令在使用遠端倉庫中詳細介紹,包括列出、新增、刪除和重新命名它們。
它在本書隨後的幾乎每個章節中也都有使用,但始終採用標準的git remote add <name> <url>
格式。
git submodule
git submodule
命令用於管理普通倉庫中的外部倉庫。這可以用於庫或其他型別的共享資源。submodule
命令有幾個子命令(add
、update
、sync
等)用於管理這些資源。
該命令僅在子模組中提及並完整介紹。