git 仓库越来越大了,怎么办?

2016-06-01 09:53:32 +08:00
 arrowna

git status 花了很长时间,如果 html 文件再增加 100 倍, git staus 是不是要好几分钟呢:(

耗费了 5.18 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度, 但您需要小心不要忘了添加新文件(参见 'git help status')。 修改尚未加入提交(使用 "git add" 和 /或 "git commit -a")

8412 次点击
所在节点    git
29 条回复
ffffwh
2016-06-01 09:57:36 +08:00
机械盘?
crazystory
2016-06-01 10:01:03 +08:00
100 倍???
wweir
2016-06-01 10:02:27 +08:00
只在开机第一次进入慢的路过
assassinpig
2016-06-01 10:03:56 +08:00
拆分???
clino
2016-06-01 10:08:46 +08:00
git gc 一下试试看
另外如果有很多不需要纳入版本管理的就写到 .gitignore 里看看能不能改善点
另外你再大应该也没有以前我们这里把整个 android 平台代码放在一个 git 库这样大
arrowna
2016-06-01 10:30:43 +08:00
@ffffwh 对,现在有 3000 个文件了。。。
arrowna
2016-06-01 10:31:05 +08:00
@clino 你们做 rom 的?
ffffwh
2016-06-01 10:41:53 +08:00
要不先上 SSD 试试..
GPU
2016-06-01 10:42:24 +08:00
openwrt 的仓库也是挺大的。
eliteYang
2016-06-01 10:45:07 +08:00
以前删掉的文件可以清理下了,参见: https://help.github.com/articles/remove-sensitive-data/
hzlzh
2016-06-01 10:56:59 +08:00
换电脑。
gkiwi
2016-06-01 11:00:46 +08:00
“耗费了 5.18 秒以枚举未跟踪的文件”

如果只是这个的话,是不是应该在.gitignore 中描述出来?
arrowna
2016-06-01 11:01:41 +08:00
@gkiwi 不是 gitignore 的关系, 3000 个文件可能有点多。。。
egen
2016-06-01 11:10:07 +08:00
git 是设计用来管理 linux kernel 的, 3000 个文件数量并不算多
应该还是机械盘的问题,换电脑吧
int64ago
2016-06-01 11:15:10 +08:00
这……怎么会每次都改这么多文件?!写 Java 的也不会改这么多啊(我就是故意黑 Java ...)

如果真是这样,你可以考虑下使用姿势了:

- 是否 Git 被你用来备份而不是版本控制 & 协作?
- .gitignore 是否把很多临时文件包含了?
- 经常边写边全局格式化代码?

其实只要保证:每次修改的都是有意义的且跟 commit log 对应的,经常性的同时改几百个是很罕见的
gkiwi
2016-06-01 11:16:21 +08:00
@arrowna 为什么会有 3000 个未跟踪的文件呢? 5 秒时间是不是都用来打印文件路径了?每次 commit 之后, status 不应该是 0 文件么?这 3000 个是不是编译后的文件??
int64ago
2016-06-01 11:19:54 +08:00
貌似你说的是全部文件,我以为是改动的……

不过 3000 肯定很少了,应该是磁盘的锅吧
julyclyde
2016-06-01 11:32:27 +08:00
status 和 repo 大小没关系吧?只是比较 working directory 和 HEAD 的区别
otakustay
2016-06-01 11:43:52 +08:00
我随便一个项目轻松 4000+文件, git status 都是秒出的,肯定不是文件多的问题,纯粹是要打印出 3000 行比较慢而已吧
zealic
2016-06-01 11:49:57 +08:00
上万文件都没有问题
上 SSD 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/282652

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX