如何删除 GitHub 分支?

在某些情況下,清除不再需要的物件是必要的舉措。

這能為新事物騰出空間,並使我們能更輕鬆地維護其餘部分。 今天,我們將探討在 GitHub 中刪除分支的不同方式。

分支對開發者而言,猶如天賜的禮物。身為開發人員的你,應該能理解我的意思。若你熟悉分支的實際應用,可以跳過下一部分,直接前往刪除分支的章節。若你是 Git 的新手或對分支感到好奇,請繼續閱讀。

什麼是分支?

分支是指向提交的指針。僅閱讀文字並不足以理解分支。我們需要深入了解分支的運作方式,才能真正掌握其概念。

我們將透過一些圖示,了解開發人員如何在專案中使用分支。請注意,圖示中的每個圓圈都代表一次提交。

讓我們透過一個簡單的實際場景,來看看分支的工作流程。

  • 假設你在一個產品開發團隊工作。
  • 某天,團隊領導走到你面前說:「嘿,我們的產品出現了一些錯誤,你需要修復它們。」
  • 你回答:「好的,沒問題。」
  • 你的 Git 提交看起來如下。

Git 提交

  • 你會在主分支(master branch)上工作嗎?
  • 當然不會。 如果你直接在主分支上工作,未來可能會面臨嚴重的問題。 稍後,我們將示範這會如何發生。
  • 現在,你決定從主分支創建一個新分支來修復錯誤。 兩個分支現在指向同一個提交。

  • 你開始處理錯誤修復,並進行了五次提交。因此,你的新分支將會呈現如下狀態。

  • 你的新分支指向 C8 提交,而主分支則指向 C3 提交。
  • 現在,令人驚訝的事情發生了。你的團隊又來找你說:「嘿,我們的產品中有一個嚴重的錯誤需要立即修復。」
  • 唉!真是多事之秋。
  • 你已經在處理錯誤修復了,但現在有更優先的事項。
  • 因此,你必須切換去修復新的錯誤。
  • 那你目前寫的程式碼怎麼辦?
  • 完全沒問題,因為你已經創建一個新分支來修復先前的錯誤。到目前為止,你正在使用的所有程式碼都將位於 bug-fix 分支中。
  • 現在,切換回主分支並創建另一個名為 critical-bug-fix 的新分支,開始處理新的錯誤修復。

  • 假設你沒有為先前的錯誤創建新分支。你覺得會發生什麼事?
  • 你必須刪除為先前的錯誤所編寫的所有程式碼,然後開始處理新的錯誤。而且,你還必須在稍後重新編寫先前錯誤的所有程式碼。
  • 這正是我們正在討論的問題所在。
  • 所以說,分支正是在幫助我們獨立開發程式碼。
  • 現在,你已經編寫了一些程式碼來修復新的錯誤並提交它們。

  • 你已完成新錯誤的修復。
  • 現在,你已經切換回先前的錯誤分支,並開始處理它們。

因此,在分支的幫助下,你可以非常謹慎地管理事情。一切都井然有序,不會一團糟。想像一下,如果沒有分支,我們的情況會有多糟糕。

因此,關於分支的結論很明確。它們是開發者的福音。

話不多說,讓我們看看如何刪除一個分支。

使用 Git 客戶端刪除分支

當我們談論刪除分支時,我們指的是在本地和遠端都刪除它。因此,當我們刪除同一個分支兩次時,請不要混淆。讓我們看看刪除分支的步驟。

  • 打開終端或命令提示字元(cmd),並導航至 Git 儲存庫。
  • 使用命令 `git branch -a` 查看儲存庫中存在的分支。它會顯示本地和遠端分支。

  • 複製要刪除的分支名稱。在上述情況中,它是 `a`。
  • 切換到 master 或 main 分支,或任何其他非待刪除的分支。
  • 使用 `git branch -d branchName` 在本地刪除分支。將 branchName 替換為你的實際分支名稱。

  • 使用 `git branch -a` 命令檢查分支。你仍然會在遠端找到已刪除的分支,因為我們尚未在遠端刪除它。

  • 要刪除遠端的分支,請運行命令 `git push remoteName -d branchName`。將 remoteName 和 branchName 替換為適當的名稱。

  • 有一個更快捷的命令可以刪除遠端分支。該命令是 `git push remoteName :branchName`。

現在,重新檢查分支。如果你正確執行了上述步驟,那麼你就不會在本地和遠端找到已刪除的分支。

如果我們嘗試刪除不存在的分支,我們會收到一條錯誤訊息,提示找不到分支。

就這樣;我們已成功在本地和遠端刪除了一個分支。

使用 GitHub 網路應用程式的方法略有不同。

讓我們來看看它是如何運作的。

使用 Web 介面刪除分支

前一種方法和這種方法沒有太大的區別。在這裡,我們將使用 GitHub 網路應用程式來刪除遠端分支。我們將以與上述方法相同的方式刪除本地分支。

讓我們看看如何使用 GitHub 網路應用程式刪除遠端分支。

  • 前往 GitHub
  • 登入你的帳戶。
  • 導航至你要刪除分支的儲存庫。

  • 點擊分支按鈕,以查看儲存庫的所有分支。

  • 你會看到儲存庫的分支列表。
  • 在每個分支的末尾,你也會看到一個刪除圖示。

  • 點擊刪除圖示,以刪除遠端的分支。

  • 我們可以透過點擊「還原」按鈕來還原分支。在我們刷新或關閉頁面之前,它將會可用。

現在,我們已經刪除了遠端的分支。前往本地儲存庫,並使用我們在第一種方法中看到的命令刪除分支。

現在,運行命令 `git branch -a` 檢查所有分支。

我們仍然在列表中看到已刪除的遠端分支。那是怎麼回事?我們該如何解決這個問題?請參閱以下情境,你可能在工作中會遇到這種情況。

假設你在一個團隊中工作。在完成特定任務後,你的團隊領導刪除了一個遠端分支。你如何得知這個消息?是否有任何方法可以知道遠端刪除的分支?

我們需要同步有關已刪除分支的本地和遠端儲存庫。有一些命令可以做到這一點。它們是:

git remote prune remoteName
git fetch -p remoteName

-p 是第二個命令中修剪的簡寫。上述兩個命令中的修剪選項會刪除對遠端的引用。

現在,運行命令 `git branch -a` 來檢查分支列表。

你會看到遠端分支不再出現在列表中。但是,本地分支仍然存在。沒錯,確實如此。這沒有問題。你可以保留或刪除它。

因此,請檢查遠端不存在但本地存在的分支。刪除遠端已刪除的本地分支。

現在,你的分支已經乾淨俐落了,你可以繼續工作。

結論

大多數時候,我們會使用終端或命令提示字元來執行任何 Git 操作。而且這樣做也很方便。但這並非強制性的。歸根究底,這取決於個人的喜好。

無論你使用什麼工具或方法,結果都是一樣的。選擇你覺得方便的方式,並按照它來完成任務,也就是兩步驟刪除一個分支:本地和遠端刪除。

接下來,了解如何刪除 GitHub 儲存庫。

祝你開發順利 🙂

喜歡閱讀這篇文章嗎?分享給全世界吧!