El tamaño de un commit en Git no es fijo, sino que varía significativamente según la compresibilidad de los archivos y la estructura del repositorio. Git almacena los objetos como datos comprimidos con el algoritmo zlib, lo que significa que la eficiencia de almacenamiento depende directamente de la repetición de patrones en el contenido. Además, el sistema optimiza el espacio mediante la creación de packfiles, que eliminan la redundancia entre objetos, aunque en el análisis se evaluaron los 'loose objects' para medir el impacto inicial.
Las pruebas experimentales revelan que los commits pequeños generan un sobrecoste considerable. Por ejemplo, un repositorio vacío ocupa 64,828 bytes, y añadir 250 archivos pequeños de 3 bytes incrementa el tamaño en 47,640 bytes. En repositorios con un solo archivo, el sobrecoste es menor, rondando los 8,709 bytes por commit. Sin embargo, al aumentar el volumen de datos, la eficiencia mejora drásticamente. Un archivo binario de 583,840 bytes se almacena en 297,873 bytes, mientras que un archivo de fuente de texto de 16,415,223 bytes ocupa solo 1,622,188 bytes en el almacenamiento. Estos datos demuestran que Git es extremadamente eficiente para archivos grandes, reduciendo el espacio de almacenamiento a entre el 10% y el 50% del tamaño original, dependiendo de la complejidad del árbol de archivos.
