前段时间我从外部存储库中提取了我的项目内容。我实际上并不确定我做了什么 - 我想通过将它合并到我的项目中来尝试这个框架,所以我做了某些事情而我不记得究竟是什么了。
所以,经过一段时间后,我认为这不是一个好主意,并解除了合并。这给我留下了奇怪的树形结构。我怎样才能删除较低的,悬空的提交线程? (它们实际上主要是外部存储库的公共标记)
答案 0 :(得分:2)
'奇怪的树结构'是一个分支。您可以使用git branch -D branchname
删除这些内容。然而,这实际上是对提交的未引用,但不是完全删除它们(即它们不会显示为树,但仍将在您的磁盘上)。如果您想要垃圾回收,git reflog expire
和git gc
是您的朋友。
答案 1 :(得分:1)
看看这里:Listing and deleting Git commits that are under no branch (dangling?)
具体来说,答案是:
git reflog expire --expire-unreachable=now --all
git gc --prune=now
请阅读完整的答案,以便了解您对存储库的操作。