如何从Git仓库移除已分离的tmp远程分支及相关提交
彻底清理Git仓库中遗留的tmp远程分支及关联提交
步骤1:删除本地的tmp远程追踪分支
直接强制删除指向tmp远程的本地追踪分支:
git branch -D -r tmp/master tmp/new-branch
-r 指定操作远程追踪分支,-D 强制删除无关联的分支。
步骤2:清理悬空提交及冗余仓库对象
Git的reflog会暂时保留已删除分支的提交记录,需要先让reflog过期,再执行垃圾回收彻底清理:
git reflog expire --expire=now --all git gc --prune=now --aggressive
git reflog expire --expire=now --all:让所有引用的reflog立即过期,清除提交的临时引用git gc --prune=now --aggressive:立即执行激进的垃圾回收,删除所有无引用的悬空提交、对象
步骤3:验证清理结果
执行以下命令确认tmp相关的分支和提交已被移除:
git log --all --oneline --graph
也可以检查是否还有不可达的提交:
git fsck --unreachable
如果没有返回8a142e4、5d43564等目标提交的哈希,说明清理完成。
内容的提问来源于stack exchange,提问作者user3309314
相关产品推荐
相关产品推荐

