【问题标题】:How can I undo the git garbage collector command? I ran git gc如何撤消 git 垃圾收集器命令?我跑了 git gc
【发布时间】: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


【解决方案1】:
  1. 如何撤消它并恢复那些 git 对象?

我看到 cmets 已经回答了这个问题,感谢 @Sven。

  1. 当我运行ls 时,它会显示所有文件,但那里的状态如何?他们目前在哪里?它们位于工作目录、暂存或修改区域中。为什么我看不到它们?

好吧,假设您正在谈论“linux”lsie 显示所有文件的那个),要查看 git 存储库的当前状态,请运行 git status 哪个告诉您暂存区域中是否有任何文件。这还将告诉您哪些文件没有被跟踪,因此您的目录(工作文件夹中的内容)减去未跟踪的文件就可以得到您的工作目录。

最好的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2011-07-16
    • 2014-08-26
    • 2023-03-30
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    相关资源
    最近更新 更多