我想了解Git是如何工作的。
如果我要更改(添加或删除)字符,保存并提交更改,直到我的代码写入,随着文件变大,大小会如何增加?例如,提交1到10,1到100,1到100万甚至之间的大小增加差异是多少?
此外,提交更改会随着时间的推移而变慢吗?它在第n次提交时变得不可行吗?
你可以尝试自己:
#! /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 gc
或git repack
。