章節 ▾ 第二版

A3.5 附錄 C: Git 命令 - 共享和更新專案

共享和更新專案

Git 中訪問網路的命令不多,幾乎所有命令都在本地資料庫上操作。當你準備分享你的工作或從其他地方拉取更改時,有一些命令會處理遠端倉庫。

git fetch

git fetch 命令與遠端倉庫通訊,抓取該倉庫中不在當前倉庫中的所有資訊,並將其儲存在本地資料庫中。

我們首先在從遠端倉庫抓取和拉取中檢視此命令,並在遠端分支中繼續檢視其使用示例。

我們還在貢獻專案的幾個示例中使用它。

我們使用它來抓取拉取請求引用中預設空間之外的單個特定引用,並在打包中檢視如何從包中抓取。

我們在引用規範中設定了高度自定義的引用規範,以使git fetch執行與預設行為略有不同的操作。

git pull

git pull 命令基本上是 git fetchgit 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 archive

git archive 命令用於建立專案特定快照的歸檔檔案。

我們在準備釋出中使用git archive來建立一個專案的 tarball 以供共享。

git submodule

git submodule 命令用於管理普通倉庫中的外部倉庫。這可以用於庫或其他型別的共享資源。submodule 命令有幾個子命令(addupdatesync 等)用於管理這些資源。

該命令僅在子模組中提及並完整介紹。

scroll-to-top