Git celebra sus 20 años con el lanzamiento de la versión 2.50, que incluye importantes mejoras
14:43, 17.06.2025
El 16 de junio de 2025 se lanzó Git 2.50, una importante actualización de uno de los sistemas de control de versiones más populares del mundo. La versión aniversario, coincidiendo con el 20.º aniversario del proyecto, incluye 621 cambios realizados por 98 desarrolladores, entre los que se encuentran 24 nuevos colaboradores. Git 2.50 es la continuación lógica de las versiones 2.47 (octubre de 2024), 2.48 (enero de 2025) y 2.49 (marzo de 2025), y sigue centrándose en la optimización del rendimiento y la modernización de los componentes internos del sistema.
El trabajo con objetos inaccesibles es ahora más eficiente
Una de las mejoras clave se refiere al trabajo con los denominados «cruft packs», archivos con objetos que no son referenciados ni por ramas ni por etiquetas. Ahora es posible dividir estos archivos en varios más pequeños, lo que reduce la carga en el disco al volver a empaquetarlos. También hay una nueva opción, --combine-cruft-below-size, que permite combinar archivos pequeños sin limitar el tamaño final.
Actualización de índices multipack y eliminación del antiguo motor de fusión
Git 2.50 implementa soporte experimental para actualizaciones incrementales MIDX (índice multipack), donde cada nivel de índice se almacena por separado como un archivo de mapa de bits. Esto es especialmente importante para repositorios grandes, donde la velocidad es importante al añadir nuevos objetos.
El motor de fusión recursivo obsoleto también se ha eliminado por completo del código, dando paso al ORT (Ostensibly Recursive's Twin), más moderno y eficiente. El nuevo motor funciona más rápido, requiere menos operaciones de escritura y es más fácil de mantener.
Nuevos comandos y opciones
La actualización incluye muchas características nuevas y útiles:
- Se han añadido nuevas acciones a git maintenance: worktree-prune, rerere-gc y reflog-expire, que limpian el repositorio de datos obsoletos y conflictivos.
- Se ha añadido el comando git reflog drop, que permite eliminar el reflog de una rama específica.
- Los comandos que trabajan con salida (git cat-file -batch, git rev-list) tienen nuevos filtros y un formato orientado a máquinas con separación de caracteres NUL.
- Se ha optimizado el trabajo con referencias: los prefijos se almacenan en caché y se ha acelerado update-ref.
Mejoras en las capacidades de red y el ecosistema
Para la interacción con sistemas externos, Git 2.50 ofrece nuevos ajustes de KeepAlive a través de cURL: http.keepAliveIdle, http.keepAliveInterval y http.keepAliveCount. Además, el comando send-email ahora interactúa mejor con el servidor SMTP de Outlook.
Un paso interesante fue la eliminación de Perl de las dependencias al crear documentación y ejecutar pruebas. Los scripts y las pruebas se han reescrito en shell y C, lo que facilita la compilación y la hace más universal.
Con cada lanzamiento, Git sigue evolucionando, lo que confirma su estatus como herramienta universal y potente para el trabajo en equipo con código.