0x02.Git参数prune
在 Git 中,prune 是用于清理本地仓库中“无效引用”的操作,主要针对那些在远程仓库已被删除,但本地仓库中仍保留的分支引用(remote-tracking branches)。
核心作用
当远程仓库的某些分支被删除后,本地仓库通过 git fetch 或 git pull 并不会自动删除对应的远程跟踪分支(如 origin/old-branch)。这些“失效”的引用会占用空间且可能干扰判断,prune 就是用来清理它们的。
常用命令及场景
-
git fetch --prune(推荐)
拉取远程仓库最新信息的同时,自动清理本地所有已在远程删除的分支引用。
例:git fetch --prune origin # 针对指定远程仓库(如 origin)执行 -
git remote prune
单独对某个远程仓库执行清理,不拉取新内容。
例:git remote prune origin # 清理与 origin 关联的失效引用 -
查看待清理的引用(不实际删除)
加上--dry-run参数可预览清理效果:git remote prune origin --dry-run
注意事项
prune仅影响远程跟踪分支(如origin/xxx),不会删除本地分支(如xxx)。- 定期执行
git fetch --prune是良好习惯,尤其在多人协作、频繁删除远程分支的场景下,可保持本地仓库引用的准确性。 - 若需彻底清理本地无用分支,需手动执行
git branch -d <branch-name>(删除已合并分支)或git branch -D <branch-name>(强制删除未合并分支)。