美文网首页
git 删除无用本地分支

git 删除无用本地分支

作者: 挣扎的前端小白 | 来源:发表于2020-09-03 16:54 被阅读0次

本地分支清理

1.查看我们本地的分支只需要执行一下:

git branch

2.我们还可以找出所有已经合入到 master的本地分支:

git checkout master

git branch --merged

3.针对这些已经合入的分支,如果确定已经不会使用的话,就可以将其删除了:

git branch -d feature/XXX

4.如果十分确定所有合入的分支都不再需要了,那么可以考虑一次性解决( (^*)是匹配当前分支,其余 (master|dev)部分可以根据自己项目的实际情况进行修改):

git branch --merged | grep -v "(^*|master|dev)" | xargs git branch -d

5.这么一来,就可以安全地删除所有已经不再需要的分支了。除此之外,也可以浏览一下没有合入 master 的本地分支,检查看看哪些分支已经废弃,不需要继续开发了:

git branch --no-merged

6.针对这些分支,只用 git branch-d命令会收到系统的善意提醒。如果十分确定可以删除,那么可以使用强制删除命令(一定要确认好啊):

git branch -D feature/XXX

经过这么一番清理,相信你的本地分支现在已经十分轻佻了, git branch返回的结果看起来也十分清爽。接下来就来清理一下本地的远程分支。

远程分支清理

1.远程分支的查看只需要在 git branch命令加一个 -r( --remotes) 参数即可:

git branch -r

远程分支的清理,一方面是清理远程分支中,已经合入 master的分支,另一方面是清理远程仓库已经删除了的分支,而本地还在跟踪的。

2.第二种情况的清理非常简单,只需要执行:

git remote prune origin

事实上,我们可以在每次 git fetch时,添加一个参数 -p( --prune),这样每次 fetch 远程仓库时都可以顺手删掉本地多余的分支(建议将 git fetch-p直接 alias 到 git fetch命令~)。

再来看第一种情况,虽然同样可以通过 git branch-r--merged来查看已经合入 master的分支,但由于远程分支不只是自己开发的,所以还需要别人的确认才能进行删除。

好在我们可以在命令行的帮助下快速筛选出每个人的分支,然后就可以把这份统计摘要发给 TA 来确认。

for branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1`; done | sort -r | grep AUTHOR_NAME

这行命令首先是过滤出所有已合入 master的远程分支( git branch-r--merged|grep-v HEAD),然后遍历每个分支,展示( git show)其最后一次提交的绝对时间( %ci)、相对时间( %cr)和作者( %an)信息,按时间倒序排列( sort-r),最后过滤出作者是 AUTHOR_NAME的分支。

如果想查看更多的信息,可以在 git show的 format加上 %s(提交信息)和 %h(commit SHA1 前缀)。

这样一份报告,给到相关开发同学,确认之后,就可以执行批量清理了。注意,远程分支的删除应该到远程仓库去删除(否则下次 fetch 还会再拉下来),因此需要我们把这个删除动作 push 到远程仓库。

最后,如果你 push 了删除动作到远程仓库,不要忘了提醒下其他同学 git fetch-p来同步删除自己本地的远程分支哈!

相关文章

  • git删除本地、远程分支

    git删除本地分支 查看本地分支 git branch 删除本地分支 git branch -d 删除已...

  • Git 操作

    1. Git 删除本地分支和远程分支 git 删除本地分支:git branch -D git 删除远程分支: g...

  • Git常用命令

    Git 新建本地分支git branch 分支名称 Git 删除本地分支git branch -d 分支名称要删除...

  • Git 删除分支以及回滚分支操作命令

    git 删除分支 列出本地分支:git branch 删除本地分支:git branch -D BranchNam...

  • git常用命令

    分支管理 git 切换分支 git 查看远程分支 git 查看本地分支 git 创建本地分支 git 删除本地分支...

  • Git 常用

    删除本地分支git branch -d dev 【git branch -参数 本地分支名称】删除远程分支git ...

  • Git删除远程分支;Git删除本地分支

    Git 删除远程分支 Git 删除本地分支

  • git删除分支

    git 删除本地分支 git 删除远程分支

  • git 分支

    git 显示所有分支(包含本地和远程)命令: git 删除本地分支命令: git 显示远程分支命令: git 删除...

  • Git之奇淫技巧

    git - 更改本地分支名称 & 远程分支 git - 删除本地分支 & 远程分支

网友评论

      本文标题:git 删除无用本地分支

      本文链接:https://www.haomeiwen.com/subject/prrosktx.html