git prune
简单地说就是一个清扫(housekeeping)的命令。
使用git查看分支,可以看到分支有三个重要分类:本地分支,本地-远程分支的参照,远程分支
比如我们在github上merge了一个PR,顺手删除了一个分支,这时在本地的电脑上本删除的分支对应的本地分支,远程分支,远程本地的参照关系都还存在,如果我们使用git branch -D name
删除该分支, 会发现只删除了本地的分支,所参照的远程分支origin/name
依然存在,清理这种残留垃圾的命令的时候,就是用到了prune。
git remove prune
和 git fetch --prune
git remove prune
清理所有已经删掉的远程分支参照,但是不会删除本地分支
git fetch --prune
则是清理完远程的无用分支之后,再把最近状态fetch到本地