Los "muchos commits pequeños" usarán un poco más de espacio, pero la diferencia probablemente no valga la pena pagar el precio de la historia perdida .
El efecto en el archivo packfile dependerá de la cantidad de cambios que no se hayan modificado posteriormente. Por ejemplo, si una confirmación posterior toca líneas que una confirmación anterior también tocó, el estado intermedio de esas líneas no sería visible en el historial con una confirmación grande, y por lo tanto no habría ningún objeto en el archivo de paquete para representarlas.
No puedo imaginar que la cantidad de confirmaciones en una sucursal reduzca o aumente la complejidad de la fusión; pero no puedo hablar con autoridad sobre eso ya que no he examinado exactamente cómo se realiza la fusión típica por recursivo. Según entiendo, es equivalente a un diff3 desde el último punto en el que se combinaron (o dividieron). En ese caso, un compromiso grande no sería más o menos eficiente que muchos compromisos pequeños.
Hay otro aspecto a considerar, dependiendo del tiempo. Si está trabajando en una sucursal y fusionando regularmente la sucursal ascendente entre sus propios commits, entonces muchos commits pequeños producirán menos conflictos porque mantendrá una mejor paridad con la rama ascendente, y por lo tanto se apartará menos de ella. Esto ciertamente causará menos problemas cuando sea el momento de fusionar.
La recolección de basura no se vería afectada en gran medida, ya que en ambos casos, no hay compromisos suspendidos u objetos sueltos inherentes en ninguno de los métodos.
En general, sin embargo, los paquetes de archivos suelen ser lo suficientemente eficaces cuando se trata de texto que el beneficio de poder ver un historial completo y sin adulterar a menudo supera el costo del espacio adicional que toma.
+1: Esta es una pregunta importante para aquellos que tienen que operar en una operación corporativa de revisión antes del compromiso que tiende a ralentizar el ciclo de confirmación. Puede depender de la medida del "tamaño" y del estilo de cambio. Supongo que un límite de media docena de conflictos de combinación básicos, o un cambio funcional como un pequeño límite <-> probablemente pequeño. –