我有一个放在 Git 下的测试存储库。大多数文件都非常小,但数量非常多,而且简单的 Git 操作(如添加和状态)需要数十分钟才能完成。我有哪些选择可以将这些置于修订控制之下并获得合理的性能?我应该尝试使用子模块还是应该避开 DVCS?
最佳答案
add
和status
等 Git 操作需要stat
文件系统中的每个文件(以检测更改)。要么您拥有大量文件(例如,数万或数十万个文件),要么您的文件系统的 stat
操作相当慢。
在任何情况下,如果您需要在一个速度极慢的系统上工作,您可以在索引中使用“假设未更改”位,它告诉 Git 不要打扰stat
文件。如果你打开它,你需要手动指示 git 获取单个文件中的更改,例如通过将它们直接传递给 git add
,否则 Git 甚至不会知道任何更改。您可以通过设置 git config core.ignoreStat true
然后运行类似 git reset --hard HEAD
的命令来打开它。
关于git - 缓慢的 Git 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9669882/