Git 删除已经合并的本地分支
在使用 Git 的开发流程中,经常会创建很多的 Git 分支,包括功能分支(features/*
)、发布分支(release/*
)和 hotfix 分支(hotfix/*
)。在开发了一段时间之后,本地就会有出现很多分支。这些分支最终都会被合并到主分支。虽然这些分支在远端 Git 仓库已经被删除,仍然会出现在本地。这些本地分支可以被清理。
在清理之前,首先运行 git fetch
来进行更新。
有两种清理方式,第一种方式是清理没有出现在远端的本地 Git 分支。可以运行下面的命令来完成。
git branch -vv | grep ': gone]' | grep -v '\*' | awk '{ print $1; }' | xargs -r git branch -d
第二种方式是清理已经合并到主分支的本地 Git 分支。这取决于主分支的名字,一般是 main
或 master
。下面的命令假定主分支名称是 main
。如果主分支名称是 master
,把下面命令中的 main
替换成 master
即可。
git branch --merged main | grep -v "^\* main" | xargs -n 1 -r git branch -d
通过上述两种方式,可以清理本地无用的 Git 分支。