-
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
命令會與遠端儲存庫通訊,並提取該儲存庫中您目前儲存庫中沒有的所有資訊,並將其儲存在您的本機資料庫中。
我們在從您的遠端提取和拉取中首次查看此命令,並在遠端分支中繼續看到其使用範例。
我們也在貢獻專案中的幾個範例中使用它。
我們設定高度自訂的 refspec,以便讓 git fetch
在Refspec中執行與預設稍有不同的操作。
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
鉤子,這是一個我們可以在推送完成前設定運行的腳本,以驗證是否允許推送。
最後,在推送 Refspecs中,我們研究了使用完整的 refspec 來進行推送,而不是通常使用的通用快捷方式。這可以幫助您非常明確地指定您希望分享的工作。
git remote
git remote
命令是用於管理遠端儲存庫記錄的管理工具。它允許您將長網址儲存為簡短的代號,例如「origin」,這樣您就不必一直輸入它們。您可以擁有多個代號,而 git remote
命令用於新增、變更和刪除它們。
在使用遠端儲存庫中詳細介紹了此命令,包括列出、新增、移除和重新命名它們。
本書中幾乎每個後續章節也都有使用到,但總是使用標準的 git remote add <名稱> <網址>
格式。
git submodule
git submodule
命令用於管理一般儲存庫中的外部儲存庫。這可能適用於程式庫或其他類型的共享資源。 submodule
命令有多個子命令 (add
、update
、sync
等) 用於管理這些資源。
此命令僅在子模組中提及並完全涵蓋。