¿Mantener los files binarys (grandes ish) en un repository de Git afecta el performance de las operaciones además de la clonación?

He leído las preguntas existentes sobre el almacenamiento de files binarys en un repository de Git, pero algunos aspectos aún no están claros.

El repository contiene alnetworkingedor de 50 MB de fonts de código y alnetworkingedor de 1 GB de files binarys. Los files binarys rara vez se cambian.

  1. ¿El performance del flujo de trabajo diario habitual se ve afectado negativamente por los files binarys? Operaciones como comprometer files cambiados, movidos, movidos y cambiados; fusionarse; tirando y empujando. Las operaciones en cuestión no involucran dichos files binarys.
  2. Desde el punto de vista del performance (por ejemplo, RAM, CPU, acceso a HDD), ¿hay algún mérito para eliminar estos files de las sucursales seleccionadas? A diferencia de eliminar completamente los files del repository y su historial.

Si los files nunca están involucrados, no hace ninguna diferencia en términos de performance.
Cada confirmación marca los files modificados, por lo que cuando se aplica un commit de los files que no están labeldos, realmente no importan, ya sean de 1 KB o 1 GB. Si el file aparece en una confirmación, obviamente importará, ya que generalmente los files binarys son más lentos de tratar.
Ahora, el principal problema es que la clonación de un repository no es la única acción que implica la aplicación de commits. Por ejemplo, cuando cambias a una twig diferente, git tiene que eliminar la aplicación de todas las confirmaciones hasta la común, y luego aplicar todas las confirmaciones de la otra twig hasta alcanzar el compromiso de pago deseado, o cuando la fusión o rebase de git tiene que analizar todas las confirmaciones para encontrar las diferencias
Básicamente cada vez que un commit que contiene modificaciones en un file binary tiene que ser leído por git, el performance muy probablemente se verá afectado, y debido a la forma en que funciona, los commits se "usan" con bastante frecuencia.
Acerca de su pregunta, básicamente depende de lo que quiere decir con "pocas veces cambiado". Siempre que las twigs en las que normalmente trabajas no tengan modificaciones en los files binarys, esto no debería ser un problema, pero si tienes modificaciones para rastrear al verificar diferentes compromisos, el performance se verá afectado.

Puede influir en las operaciones como git gc o git repack , donde se realiza la desestimación. Consulte " ¿Los deltas de files del package de Git en lugar de instantáneas? ".

Es por eso que generalmente guardo en el control de versiones solo un file de text que declara dónde encontrar los binarys que necesito, en lugar de almacenar los files binarys. Consulte " git include dll comstackdo de otro repository " como ejemplo.