Contents

Git 查看合併分支並刪除方法

專案做久了之後,Git 分支一定會越積越多。若沒有定期整理,本地和遠端都會充滿已經合併完成、但還留著的舊分支。這不一定會壞事,但會讓日常查看分支、切分支、找歷史時變得比較混亂。

先看哪些分支已經合併

最基本的指令是:

1
git branch --merged

它會列出「已經合併到目前分支」的本地分支。如果你現在站在 mainmaster,這個列表通常就很適合拿來做清理。

如果想連遠端追蹤分支一起看,可以加上:

1
git branch -a --merged

反過來看哪些還沒合併

有時候你不是要刪,而是怕誤刪還沒合併的分支,這時可以先看:

1
git branch --no-merged

這一步很實用,尤其專案多人協作時,不要只憑分支名字猜它是不是已經沒用了。

刪除本地分支

如果確認分支已經合併完成,可以用:

1
git branch -d branch-name

-d 比較安全,Git 會阻止你刪掉還沒合併的分支。

如果你很確定要硬刪,才用:

1
git branch -D branch-name

清掉失效的遠端追蹤分支

有時候遠端分支明明已經刪掉了,本地卻還看得到,這通常是追蹤資訊還沒 prune。可以用:

1
git fetch -p

或:

1
git fetch --all --prune

這樣可以把那些遠端已不存在的追蹤分支一起清掉。

我自己的整理習慣

通常我會照這個順序做:

  1. 切到主分支並先更新。
  2. git branch --merged 看可清理的本地分支。
  3. git branch -d 刪除已合併分支。
  4. 最後跑一次 git fetch --all --prune 清追蹤分支。

這樣做比較不容易把還在使用中的分支誤刪。

小結

Git 分支清理不難,重點是先分清楚已合併和未合併,再決定要不要刪。git branch --mergedgit branch -dgit fetch --prune 這幾個指令掌握好,日常維護版本庫就會清爽很多。