首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当git repos变得很大时,哪些操作会变慢?为什么?

当git repos变得很大时,哪些操作会变慢?为什么?
EN

Stack Overflow用户
提问于 2019-07-21 23:53:53
回答 2查看 4.8K关注 0票数 14

这个问题在SO和其他地方以各种形式被问到,但没有一个我能够找到的答案让我满意,因为没有一个列出了有问题/没有问题的操作/命令,也没有一个对速度命中的技术原因给出了透彻的解释。

例如:

所以,我不得不再问一遍:

基本git操作(提交、推送、拉入、添加、获取、分支、合并、签出)的

  • ,当repos变大时,哪些操作会变慢(注意: repos,而不是此问题的文件)

和,

  1. 为什么每个操作都取决于回购大小(或不取决于)?

我现在不关心如何修复那个。我只关心哪些动作的性能会受到影响,以及根据当前git架构的推理。

编辑以澄清:

很明显,例如,git clone将是回购的大小的o(n)。

然而,我不清楚git pull是否相同,因为从理论上讲,只看差异是可能的。

Git在幕后做了一些不平凡的事情,我不确定是什么时候做的。

Edit2:

我在this上找到一篇文章,说

如果您的存储库中有大的、不可区分的文件,如二进制文件,则每次提交对该文件的更改时,您都会在存储库中保留该文件的完整副本。如果您的存储库中存在这些文件的许多版本,它们将极大地增加签出、分支、 fetch和您的代码的时间。

我不明白为什么分支需要比O(1)更多的时间,我也不确定列表是否已经满了。(例如,拉动怎么办?)

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57134772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档