安全运行git gc

时间:2014-02-06 20:09:48

标签: git garbage-collection

我遇到了第一个运行git gc的请求。我上次提交时收到的消息是:

warning: There are too many unreachable loose objects; run 'git prune' to remove them.

和......

You may also run "git gc" manually. See "git help gc" for more information.

所以我的问题是我是运行git gc --aggressive--auto --prune还是--quiet

基本上我担心我可能会丢失任何提交历史记录或以任何方式扰乱我的主分支?

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

通常,git gc可以安全运行。它不会丢弃任何可从任何命名引用访问的提交。根据您设置适当的到期变量的方式(例如,gc.pruneexpiregc.reflogexpire等),它可能会丢弃只能从reflog访问的提交,或者根本无法访问。我让git gc决定何时自行修剪(查看那些过期设置)并通常执行git gc --aggressive。它在工作时显示一些统计数据。如果您不想看到这些内容,请添加--quiet