1
28
我现在能看到一些东西。
一定还有别的事情发生,但这显然是影响最大的事情。 |
2
17
每次Git状态都必须查看存储库中的每个文件。你可以告诉它不要再看那些你不在研究的树了。
从手册页:
现在,很明显,这个解决方案只有在回购协议的某些部分您可以方便地忽略的情况下才能工作。我在一个类似规模的项目上工作,那里肯定有很大的树,我不需要定期检查。Git状态的语义使它成为一个普遍的O(N)问题(文件数量为N)。您需要特定于域的优化来做得更好。 请注意,如果您在缝合模式下工作,也就是说,如果您通过合并而不是重新平衡来集成来自上游的更改,那么这个解决方案就变得不太方便了,因为对——假设从上游合并的未更改的对象变成了合并冲突。通过重新调整工作流程可以避免此问题。 |
3
5
一个长期的解决方案是增加git以在内部缓存文件系统状态。 KarstenBlees已经为MSysgit做了这些,这大大提高了Windows的性能。在我的实验中,我的Win7机器在虚拟机中运行时,他的更改使“Git状态”从25秒变为1-2秒。 卡斯滕的变化: https://github.com/msysgit/git/pull/94 讨论缓存方法: https://groups.google.com/forum/#!topic/msysgit/fL_jykUmUNE/discussion |
4
5
关于最后一点,见
commit a33fc72
(2017年4月14日)
Jeff Hostetler (
Git2.14通过更好地考虑
untracked cache
“,这允许Git跳过读取未跟踪目录
见
见
commit edf3b90
(2017年5月8日)
David Turner (
一般来说,使用git 2.14.x/2.15,写入缓存的速度也会更快。
见
commit ce012de
,
commit b50386c
,
commit 3921a0b
(2017年8月21日)
Kevin Willford (``)
.
更新日期:2017年12月:Git 2.16(2018年第1季度)将提出额外的增强,这次是为了
见
commit 163ee5e
(2017年12月4日)
Derrick Stolee (
更新日期:2018年3月:Git 2.17将改进
更新:Git 2.20(2018年第4季度)新增
Index Entry Offset Table (IEOT)
,允许
见
commit 77ff112
,
commit 3255089
,
commit abb4bb8
,
commit c780b9c
,
commit 3b1d9e0
,
commit 371ed0d
(2018年10月10日)
Ben Peart (
允许:
Git 2.21(2019年第1季度)引入了新的改进,更新了 松散对象缓存 ,用于优化存在性查找,已更新。
见
commit 8be88db
(2019年1月7日),以及
commit 4cea1ce
,
commit d4e19e5
,
commit 0000d65
(2019年1月6日)
René Scharfe (
|
5
4
一般来说,我的Mac可以使用Git,但是如果有很多松散的对象,那么它会变得非常慢。似乎hfs在一个目录中处理大量文件并不是很好。
然后
将生成一个单独的包文件并删除任何遗留的松散对象。运行这些程序可能需要一些时间。 |
6
3
你可以试着通过
另外,你可以使用
|
7
2
就其价值而言,我最近发现
为了缩短长话短说,我在项目根目录中找到了一个280MB文件。这是数据库转储的意外签入,因此可以删除它。 以下是之前和之后:
我有105000件物品在商店里,但似乎大文件比许多小文件更具威胁性。 |
8
1
你也可以试试
|
9
0
也许你用病毒扫描器? 我已经在Windows和Linux上测试了一些大项目——真是太快了! 我认为您不需要在克隆的repo中执行git gc(应该是干净的)。 你的硬盘可以吗?每秒IOPS和R/W?可能是坏了? |
10
0
也许Spotlight正在尝试索引这些文件。可能禁用代码目录的聚光灯。检查活动监视器并查看正在运行的进程。 |
11
0
我将使用不同的文件系统创建一个分区。与在其他文件系统上执行类似操作相比,HFT+对我来说总是比较迟缓。 |
12
0
试着运行prune命令,它会去掉松散的对象。
|
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |