в документации git написано, что для каждого коммита снимка делается.Подчеркивается, что git хранит файлы не в виде серии различий, а в виде серии снимков.Также подчеркивается, что снимок содержит копию файла (если файл был изменен, конечно).Итак, давайте погрузимся в него:
git init
git add file.bin # (file.bin has 1024 MB)
git commit -m "."
ls -l --block-size=M -a
drwxr-xr-x 1 john 197121 0M lis 13 08:27 .git/
-rw-r--r-- 1 john 197121 1024M lis 13 08:19 file.bin
echo "X" >> file.bin # file was changed
git commit -am "Changed file.bin"
ls -l --block-size=M -a
drwxr-xr-x 1 john 197121 0M lis 13 08:27 .git/
-rw-r--r-- 1 john 197121 1025M lis 13 08:19 file.bin
Итак, размер .git
'по-прежнему <1 МБ.Это показывает, что <code>file.bin не было скопировано.Почему?