Qué factores contribuyen al tamaño del repository git

Me gustaría saber qué factores contribuyen al tamaño de un repository git, excepto los datos, por supuesto.

¿Tener una larga historia significa un gran repository? ¿Tener muchas twigs tiene algún efecto sobre él?

Además, ¿cómo manejan sus compromisos? Leí que cada compromiso debería tener al less una unidad lógica de cambio añadida. Sé que los commits pueden ser aplastados por rebasing antes de empujar. (Nunca rebase publicado por supuesto).

Entonces no sé si debería aplastarlos o no. Porque no sé si hace algún cambio en el tamaño o no.

Gracias

Un repository en sí mismo verá que su tamaño varía principalmente debido a la naturaleza de los datos introducidos: los datos binarys se almacenarán de manera less eficiente que los datos no binarys, y en general son más grandes.

Un repository en uso (localmente clonado) puede ver que su tamaño varía según el último gc y el repack : vea git gc --aggressive vs git repack . Los files en package son donde se realiza la deslocalización .

En cuanto a las confirmaciones, lea " Desprecio total para la historia de compromiso de Git ".

Estos son dos extremos de ver cuál es la unidad central de cambio para el proyecto respectivo.

  • Desde la perspectiva de Git, probablemente debido a la facilidad de uso dentro de un enfoque de list de correo, un solo compromiso atómico tiene más sentido.
  • Desde la perspectiva de GitHub, los compromisos individuales se vuelven less valiosos porque la unidad atómica es la request de extracción

En ambos casos, se puede encontrar más context histórico en un cambio volviendo a la discusión de la list de correo o la conversación de request de extracción.