¿Cuánto pesa realmente un commit de Git?

How big is a Git commit?

El tamaño de un commit en Git depende de la compresibilidad de los archivos y del empaquetado posterior. En experimentos con objetos sueltos, un commit inicial de 250 archivos añade 47 KB, mientras que un cambio de 3 bytes en un repo de un solo archivo cuesta 8.7 KB. Para archivos grandes, la compresión es notable: un binario de 583 KB ocupa 298 KB y un código fuente de 16.4 MB solo 1.6 MB. En general, los commits pequeños tienen kilobytes de sobrecarga, pero los grandes son extremadamente eficientes.

Así que eso es 1.6 Mb para commitear un archivo fuente de 16.4 Mb. Esperaba que el texto se comprimiera bien, pero eso es realmente impresionante.
  1. cocoto

    > Las opciones de du son: s para resumir y b para mostrar bytes.

    Pequeña pega: ¡Usa opciones largas y tus ejemplos de código se vuelven autoexplicativos!

  2. nathanpankon

    Jugué con hacer una alternativa a git que estuviera optimizada según el flujo de trabajo. No la he abandonado del todo, pero mi idea central era que puedes usar ast path para comprimir los datos aún más.

    Como dijiste, git es realmente eficiente, y aunque entré con algunas críticas por el trabajo (desastre) que es chromium y el hacking profundo que hice allí para arreglar cosas entre versiones sin forzar una reconstrucción completa,

    llegué a la conclusión de que como alternativa de compresión, mi enfoque no valía la pena. ¡Git hizo un mejor trabajo!

    En fin, aquí está el intento: https://github.com/pankon/gat

  3. jamesblonde

    Git fue diseñado con suposiciones sobre el almacenamiento local de archivos que lo hacen difícil cuando se almacenan datos en un sistema de archivos distribuido. Construimos nuestro sistema de archivos distribuido, HopsFS, para almacenar datos en S3. Para soportar git de alto rendimiento en FUSE, nuestras escrituras llegan a discos NVMe remotos y se sincronizan asíncronamente con S3 (puedes replicar en NVMe o simplemente hacer recuperación ante fallos). Anteriormente, usábamos discos NVMe remotos como caché de escritura directa, pero eso no funciona con git, la latencia de S3 es demasiado alta.

    Requisitos:

Más de este día

2026-10-11