在使用 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 分支。
对于 Git 仓库上远端的分支,在合并之后也应该被删除。一些 Git 仓库,如 GitHub 和 GitLab,在合并 Pull Request 或 Merge Request 时都提供选项,可以在合并时自动删除分支。建议勾选此选项。也可以手动删除。
版权归原作者 成富 所有, 如有侵权,请联系我们删除。