我怎样才能摆脱“迷失的头脑”?

时间:2013-02-23 19:08:55

标签: git smartgit

在我第一次尝试使用git时,我使用了GitHub for Windows。由于它是简单而且非常原始的工具,我决定尝试SmartGit。当我环顾四周时,我发现我的测试中有剩菜 - 这就是所谓的“失头”。我该如何摆脱这种垃圾?似乎

git gc --prune=now

或类似的东西应该有效,但没有任何改变。我试过谷歌搜索,但每个人都试图做反向的事情 - 恢复丢失的头部或类似的东西丢失的承诺。

2 个答案:

答案 0 :(得分:10)

根据man pagegit gc不会垃圾收集通过存储库中的'reflogs'(.git/logs/<ref-name>文件引用的文件。这些HEAD正是SmartGit / Hg显示的内容,当您删除这些日志时,未引用的提交应由git gc --prune=now收集。

警告除非没有充分的理由彻底摆脱这些提交(例如删除敏感数据),否则你不应该这样做 - 也许一段时间之后你可能会对其中一个提交。至少,在我看来,回收磁盘空间并不是一个好理由。

答案 1 :(得分:0)

这不仅会删除git gc --prune=now

git -c gc.reflogExpire=0 -c gc.reflogExpireUnreachable=0 -c gc.rerereresolved=0 \
-c gc.rerereunresolved=0 -c gc.pruneExpire=now gc "$@"

来源:https://stackoverflow.com/a/14728706/1069083