git - 缓慢的 Git 操作

标签 git

我有一个放在 Git 下的测试存储库。大多数文件都非常小,但数量非常多,而且简单的 Git 操作(如添加和状态)需要数十分钟才能完成。我有哪些选择可以将这些置于修订控制之下并获得合理的性能?我应该尝试使用子模块还是应该避开 DVCS?

最佳答案

addstatus 等 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/

相关文章:

git - 如何在 Github Desktop 中重做 'undo most recent commit'

git - 将提交从 master 前置到分支

c# - 编译器错误 Visual Studio mac

Git不要求凭据

git - 在 Docker 中添加 ssh key

git - 在将文件包含在 .gitignore 中后从过去的提交中恢复文件

php - 无法通过 TortoiseGit 或 msysGit check out 适用于 Windows 8 的 Git 代码。适用于 Ubuntu Git。 "Submodules error"

git "remote branch"术语的含义

node.js - semantic-release 配置为仅从 master 发布

php - 在 Jenkins 中找不到私有(private) git 子模块