如何防止我的git腐败?

时间:2016-09-06 20:51:50

标签: git virtual-machine vmware corruption

我在android工作室项目中使用VMWare的虚拟ubuntu 16.04环境。 git是正常设置的,并且大部分时间都可以工作,但我偶尔会(在过去两个月内至少三次)得到一个损坏的git。

error: object file .git/objects/bb/2b004268181780ddea02ea4313142fc36a0541 is empty
error: object file .git/objects/bb/2b004268181780ddea02ea4313142fc36a0541 is empty
fatal: loose object bb2b004268181780ddea02ea4313142fc36a0541 (stored in .git/objects/bb/2b004268181780ddea02ea4313142fc36a0541) is corrupt

我不是在问如何修复这些错误,我已经修复了几次但是它们一直在发生,而且修复它真的很麻烦和耗时。造成这种情况的原因是什么?

我使用git的正常日子是打开VMWare,登录我的虚拟机,然后打开android studio,我不会在一天结束之前触摸git。我结束这一天的两种方式之一。

  1. 我点击Android Studio上的File -> Exit,git commit stuff,然后关闭VMWare。然后我关闭了桌面。
  2. 与1相同,除了我让VMWare保持打开状态,那天我没有git提交,Ctrl-alt-del并将桌面设置为锁定模式。
  3. 或两者的一些变化。

    当我尝试提交时,我通常会在一天结束时遇到腐败。

    Hard Disk Settings

    其他VMWare设置:

2 个答案:

答案 0 :(得分:1)

我制作了一个大小两倍的新VM,从那时起就没有出现问题所以我要继续并假设这是答案。如果我再次看到它,我会更新它。

答案 1 :(得分:1)

对于那些有问题和磁盘大小不是问题的人来说这可能会有所帮助:我正在关闭我的机器而且我一直在收到git repo错误(我还注意到启动时有多个日志恢复)。然后我尝试通过文件菜单发送关机信号;它表明我有打开文件。我怀疑Shutdown允许这些文件关闭;我怀疑其中一些是git repi文件。

这摆脱了日记错误,到目前为止我还没有看到任何git repo错误。可能更好的是机器菜单下的ACPI关闭菜单选项。