在某些情況下,清除不再需要的物件是必要的舉措。
這能為新事物騰出空間,並使我們能更輕鬆地維護其餘部分。 今天,我們將探討在 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 儲存庫。
祝你開發順利 🙂
喜歡閱讀這篇文章嗎?分享給全世界吧!