В git, с какой скоростью увеличивается размер, если каждое изменение символа является коммитом? - PullRequest
3 голосов
/ 20 марта 2019

Я пытаюсь понять, как работает Git.

Если бы я должен был изменить (добавить или удалить) символ, сохраняйте и фиксируйте это изменение до тех пор, пока не будет написан мой код. Как будет увеличиваться размер по мере увеличения файла? Например, какова будет разница в увеличении размера между коммитами от 1 до 10, от 1 до 100, даже от 1 до 1 миллиона?

Кроме того, становится ли медленнее со временем совершать изменения? При каком n-м коммите это становится невыполнимым?

1 Ответ

6 голосов
/ 20 марта 2019

Вы можете попробовать сами:

#! /bin/bash
set -eu

chars=({a..z})

rm -rf git
mkdir git
cd git
git init
git config user.email name@example.com

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...