在git中,如果每个字符更改都提交,大小会以什么速度增加?

问题描述 投票:3回答:1

我想了解Git是如何工作的。

如果我要更改(添加或删除)字符,保存并提交更改,直到我的代码写入,随着文件变大,大小会如何增加?例如,提交1到10,1到100,1到100万甚至之间的大小增加差异是多少?

此外,提交更改会随着时间的推移而变慢吗?它在第n次提交时变得不可行吗?

git big-o space-complexity
1个回答
6
投票

你可以尝试自己:

#! /bin/bash
set -eu

chars=({a..z})

rm -rf git
mkdir git
cd git
git init
git config user.email [email protected]

for (( i = 0; i <= 10000 ; ++i )) ; do
    printf ${chars[RANDOM % 26]} >> a
    time git add a
    time git commit -m "Change $i"
    du -s .git
done

如果它太慢,请尝试运行git gcgit repack

© www.soinside.com 2019 - 2024. All rights reserved.