【发布时间】:2020-06-01 07:08:44
【问题描述】:
我跑了
git gc
看看 git 垃圾收集器的一般工作原理。
但是一旦我运行它,我在 .git/objects 中显示为 blob、提交和树的 15 个对象,它们就消失了。
1. 如何撤消并恢复那些git对象?
2. 当我运行ls 时,它会显示所有文件,但状态如何?他们目前在哪里?它们位于工作目录、暂存或修改区域中。为什么我看不到它们?
【问题讨论】:
-
对象被打包在
pack文件中,从而提高了性能。为什么要撤消命令?它似乎按预期工作。 -
可以使用
git unpack-objects再次解压打包文件:stackoverflow.com/questions/16972031/… -
您能否指导一下在这种情况下如何提高性能?
-
Packfiles 仅存储文件不同版本之间的差异。这减少了大多数操作需要从磁盘读取的数据量。差异尤其从增量压缩中获益。
标签: bash git object github gitlab