¿Es seguro comprimir un file GIT con respecto a la pérdida de datos o corrupción de files?

Estoy usando GIT GUI para realizar un seguimiento de los cambios realizados en nuestras tareas diarias de desarrollo y cambios de código / files.

Actualmente estoy en desarrollo web, principalmente sitios web. Estoy usando un file GIT para cada carpeta de website, que contiene todos los files y documentos relacionados con el proyecto.

A menudo, GIT se queja de que hay muchos elementos en el file, y para mantener el file rápido y optimizado, me sugiere que comprima el file.

¿Es seguro hacerlo? ¿Las ventajas de comprimir el file superan los problemas eventuales que la compression puede causar (incluso lo vale)?

Estoy especialmente preocupado por la posible corrupción de files o problemas / errores conocidos de los que quizás no tenga conocimiento.

El formatting del repository de Git es robusto y está muy bien probado. Es seguro hacer la compression del repository.

Dicho esto, las copys de security son siempre una buena idea.

Si estás hablando de git gc entonces es perfectamente seguro y no se pierden datos.

Git lo ejecuta periódicamente, pero no hace nada hasta que un repository supera un determinado tamaño.

Como dice Greg, siempre ten una copy de security de tu repository.

git gc –prune es otro asunto. Esto eliminará todos los objects no referencedos del repository, lo que podría no ser lo que desea (es posible que desee recuperar uno de estos más adelante).

TL; DR: Sí, es seguro realizar la optimization del repository git, pero hacer copys de security y probarlas .

Supongo que por "compression" te refieres a git gc .

La operación es tan segura como se le puede dar al entorno (estabilidad de la máquina, RAM y confiabilidad de almacenamiento).

Sin embargo, hay una debilidad en todas las máquinas de computación: espacio de almacenamiento . Tenga en count que git gc veces (paradójicamente) puede boost temporalmente el tamaño del repository (debido a desempaquetar objects que son candidatos para su eliminación pero que aún no se han eliminado). Si la máquina tiene poco espacio de almacenamiento, esto puede evitar que la operación tenga éxito o dificulta el trabajo consecutivo. Además, git gc puede requerir gran cantidad de memory (por ejemplo, más grande que el tamaño del repository en disco) y falla si el sistema no puede hacer frente.

Dicho esto, nunca vi la corrupción del repository aparentemente causada por un git gc .

Si su copy de security es un repository clonado, tenga cuidado: algunos elementos (twigs, tags livianas, tags regulares, configuration, ganchos, etc.) no se transfieren automáticamente entre repositorys, algunos son parcialmente o, en algunos casos, solo, con reglas complicadas.

Dado que le preocupa la security de los datos, la mejor opción para estar seguro (y eso es general, no específico para git) es darse un process regular de copy de security + recuperación de fallas. Luego, de vez en cuando, concédase un entorno de recuperación de testing aislado (puede ser tan simple como una carpeta en otra computadora o en una máquina virtual, dependiendo del context). Luego, en ese entorno, ejecute por completo su procedimiento de recuperación y verifique que sus preciosos datos y processs vuelvan a ser totalmente funcionales, a partir de la copy de security, sin necesidad de su almacenamiento principal. De esta forma, usted sabe que si el almacenamiento principal se bloquea, estará seguro.