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 分支。

对于 Git 仓库上远端的分支,在合并之后也应该被删除。一些 Git 仓库,如 GitHub 和 GitLab,在合并 Pull Request 或 Merge Request 时都提供选项,可以在合并时自动删除分支。建议勾选此选项。也可以手动删除。

你可能感兴趣的:(git)