git prune:如何高效清理过期引用
git fetch --prune 是一个Git命令,它用于从远程仓库获取并更新所有分支的引用,同时删除那些已经不存在于远程仓库中的本地分支。请注意,这个命令不会直接删除你正在工作的本地分支,即使对应的远程分支已经被删除。
·
git prune [pruːn]
删除仓库中所有“不可达”(unreachable)的对象,也就是那些无法从任何分支、标签或引用访问到的 Git 对象。
git gc ✅安全触发垃圾回收,Git 的“垃圾回收”命令,会自动调用 git prune 并执行优化
git prune ✅高级用户了解即可,通常无需手动调用
git prune ✅清理所有 unreachable 对象
git prune -v / --verbose ✅清理时输出详细信息(verbose output)
git prune --dry-run ✅光看不清理 unreachable 对象
git prune "2 weeks ago" ✅只清理两周前的 unreachable 对象
git remote prune origin ✅远程仓库上dev1被删掉了,本地Git不会立刻知道这个变化,仍保留origin/dev1,此命令是删除origin/dev1
git fetch --prune origin ✅fetch时自动清理
git config --global fetch.prune true ✅配置默认行为
注意事项
存在 heads/1215 → origin/1215 → 托管平台/1215
1、删除托管平台/1215, heads/1215 和 origin/1215 不会受到影响
2、再执行 git remote prune origin 会清除 origin/1215,heads/1215不会受到影响
参考
「引」https://git-scm.com/docs/git-prune
「引」https://git-scm.com/docs/git-remote
「引」https://git-scm.com/docs/git-fetch
更多推荐
所有评论(0)