Git Fetch 和 Git Pull 的區別
引言
可以使用 Git Fetch 和 Git Pull 分別獲取和拉取遠端倉庫。例如,GitHub 和 BitBucket 等多個第三方網站託管 Git 倉庫。
開發人員使用遠端倉庫來進行協作。當遠端位置發生更改時,這些更改會自動克隆到本地。每當進行本地提交時,遠端提交也會更新。
Git Fetch 和 Git Pull 都可以獲取已推送的遠端倉庫。但重要的是要注意,儘管如此,它們的工作方式不同。這些命令有很多不同的用途,因此瞭解它們非常重要。
在比較 git fetch 和 git pull 之前,瞭解 git 非常重要。
什麼是 Git?
使用 Git,小型到大型專案都可以跟蹤其隨時間的變化。開發人員可以使用 Git 來協調他們的工作。我們的團隊成員可以藉助版本控制同時跟蹤和協作。
Git 是許多 Git 服務(如 GitHub 和 GitLab)的基礎,但也可以獨立於這些服務使用 Git。Git 可以私下使用,也可以公開使用。
Git 平臺快速易學,與競爭對手相比具有更多優勢。
什麼是 Git Fetch?
這是一個命令,允許您檢索更新的檔案和遠端引用並將它們儲存在本地。Fetch 是檢查其他人一直在做什麼以及他們想出了什麼的過程。我認為它與 SVN update 的主要區別在於您不必更新中央歷史記錄;相反,它顯示了中央歷史記錄隨時間的進展。無論您獲取什麼內容,您在本地正在進行的工作都不會受到您正在獲取的內容的影響;它與您已經在本地獲得的內容隔離。您必須使用 git checkout 手動檢出內容。因此,fetch 過程是確保您可以安全地檢查提交後再將其合併到本地儲存庫中的一種好方法。
什麼是 Git Pull?
使用此命令,您可以檢索已遠端更新的檔案和引用,並將它們儲存在您計算機的本地。一旦遠端跟蹤分支新增到本地分支,本地分支就會更新。隨時可以遠端分支,而跟蹤分支可以遠端推送和拉取。一般來說,您可以將其視為獲取和合並的混合體。當從遠端儲存庫獲取更改並希望儘快將其應用到本地時,它首先將其與本地儲存庫中的更改合併,然後再將更改應用到遠端儲存庫,以便能夠在從遠端儲存庫獲取更改後立即應用它們。
Git Fetch 和 Git Pull 的區別
Git Fetch 和 Git Pull 之間存在差異。下表總結了它們的主要區別。
Git Pull |
Git Fetch |
---|---|
在 pull 方法中,新的提交將從遠端拉取/下載並與那裡的內容合併。 |
對於遠端儲存庫,可以使用此方法複製或下載內容。 |
遠端跟蹤的分支在本地同步。 |
遠端跟蹤的分支會被更新,但本地分支不會。 |
當本地和遠端更新混合時,會發生合併衝突。 |
合併期間不會出現衝突。 |
使用 Git Pull 將遠端進行的修訂推送到本地。 |
使用 Git fetch 可以檢視遠端儲存庫的更改,而無需進行任何本地更改。 |
拉取後,我們的分支將包含本地提交以及來自遠端儲存庫的新提交。 |
只要我們的本地工作分支保持不變,我們就可以看到更改,而無需更新遠端跟蹤分支。 |
命令:git pull |
命令:git fetch |
結論
在遠端互動方面,您需要做的兩件最重要的事情是 git fetch 和 git pull。
為了跟蹤遠端所做的更改,可以使用 Git fetch 檢查和檢視所做的更改,而無需修改原始檔案。
當我們想將最新的遠端更改合併到我們的本地倉庫時,可以使用 git pull。
儘管 git fetch 和 git pull 各有其優點和用例,但許多人發現 git fetch 命令是 git pull 的更安全替代方案。