Git - 遠端分支



Git 的一個關鍵特性是它能夠處理本地和遠端倉庫。本地分支允許開發人員獨立工作,而**遠端分支**透過跟蹤遠端倉庫中存在的分支來實現團隊間的協作。

Git 中的遠端分支本質上是在遠端倉庫(如 GitHub、GitLab 或 Bitbucket)中存在的分支,可以與您的本地分支同步。

為什麼要使用遠端分支?

遠端分支的主要目的是為了實現專案協作。使用遠端分支的一些原因包括:

  • **協作:**遠端分支透過允許多個開發人員在不同位置處理同一個專案來促進團隊合作。

  • **備份:**擁有一箇中央遠端倉庫可以確保程式碼更改得到備份,並且如果本地倉庫出現問題,可以恢復程式碼。

  • **版本控制:**透過使用遠端分支,團隊可以維護專案的多個版本,例如開發、暫存和生產分支,從而更容易地管理釋出和錯誤修復。

  • **程式碼審查和整合:**遠端分支支援程式碼審查流程。

基本的 Git 遠端命令

使用遠端分支涉及多個關鍵操作,例如建立、推送、拉取和跟蹤遠端分支。讓我們在以下部分了解這些操作。

克隆倉庫

使用git clone克隆遠端倉庫。Git 會自動將遠端倉庫設定為 origin 並拉取遠端倉庫中存在的所有分支。

git clone https://github.com/user/repository.git

在本地機器上克隆遠端倉庫副本後,Git 將自動跟蹤遠端分支。

列出遠端分支

使用以下命令列出遠端倉庫中存在的所有分支:

$ git branch -r

此命令列出了origin倉庫中可用的所有遠端分支及其分支名稱。

建立新分支並將其推送到遠端

建立新分支時,它不會自動存在於遠端倉庫中。要與他人共享此分支,我們需要將其推送到遠端倉庫。

git checkout -b feature-branch
git push origin feature-branch

git push命令將本地分支推送到origin倉庫並建立一個對應的遠端分支。推送後,其他開發人員可以獲取feature-branch並開始協作。

從遠端分支獲取和拉取更改

當其他開發人員更改遠端倉庫中的分支時,我們需要將本地倉庫與這些更改同步。這可以使用git fetchgit pull命令完成。

git fetch origin

此命令從遠端倉庫獲取最新更改,但不將它們合併到本地分支。它更新遠端跟蹤分支,但本地分支保持不變。

git pull origin main

git pull命令將git fetchgit merge組合在一個步驟中。它從遠端分支獲取更改並將它們合併到當前本地分支。

跟蹤遠端分支

將分支推送到遠端倉庫時,Git 會自動設定跟蹤分支關係。這意味著本地分支將跟蹤相應的遠端分支,從而更容易在將來同步更改。

例如,將新分支推送到origin後,本地feature-branch將預設跟蹤origin/feature-branch。我們可以使用以下命令檢查哪些分支正在被跟蹤:

git branch -vv

此命令顯示所有本地分支的列表,以及它們正在跟蹤的遠端分支及其狀態(領先、落後或最新)。

使用遠端分支進行合併和變基

使用遠端分支時,我們經常需要將遠端分支的更改整合到您的本地分支中。有兩種常見的方法可以做到這一點:合併和變基。我們將在後面的章節中詳細學習。

刪除遠端分支

遠端分支不再需要時(例如,在合併功能後),最好將其從遠端倉庫中刪除,以保持簡潔。

要刪除遠端分支,請使用以下命令:

git push origin --delete feature-branch 

使用遠端分支的最佳實踐

為了在使用遠端分支時保持乾淨高效的工作流程,請考慮以下最佳實踐:

  • **定期同步:**在開始工作之前,始終從遠端倉庫拉取或獲取更改,以確保本地倉庫是最新的。

  • **使用描述性分支名稱:**清晰的分支名稱(例如,feature-login、bugfix-issue-123)使團隊成員更容易理解每個分支的目的。

  • **避免長期存在的功能分支:**保持功能分支的短期存在,以減少合併衝突的風險。

  • **清理陳舊的分支:**一旦遠端分支不再需要,就將其從遠端倉庫中刪除,以避免混亂和混淆。

  • **使用拉取請求進行協作:**拉取請求為團隊成員提供了一種有組織的方式來審查和討論更改,然後將其合併到主分支。

廣告