Se presento el lanzamiento de la nueva versión de Git 2.22 El cual es uno de los sistemas de control de versiones mÔs populares, confiables y de alto rendimiento y que ademÔs proporciona herramientas de desarrollo.
Para garantizar la integridad de la historia y la resistencia al cambio en retrospectiva, se utiliza el hashing implĆcito de toda la historia anterior en cada confirmación y tambiĆ©n se pueden verificar las firmas digitales de los desarrolladores de etiquetas individuales y confirmaciones.
En comparación con la versión anterior, se realizaron 745 cambios a la nueva versión, preparados con la participación de 74 desarrolladores, de los cuales 18 participaron en el desarrollo por primera vez.
Principales novedades de Git 2.22
Para mostrar la rama local actualmente utilizada, ahora se puede usar el comando «git branch-show-current«.
AdemĆ”s que desde la versión 1.18 estĆ” disponible el nuevo modo de transferencia para el conjunto de confirmación Ā«git rebase ārebase-mergesĀ« el cual ha reemplazado a la opción anterior Ā«āpreserve-mergesĀ«, que ahora estĆ” marcada como obsoleta.
Con la finalidad de preservar la estructura de la rama en una rama portĆ”til, se podrĆa utilizar la opción Ā«āpreserve-mergesĀ«, que, cuando se lanzó en modo interactivo (git rebase -i āpreserve-merges), permitió editar el historial de confirmaciones, pero no garantizaba la conservación total de la estructura del repositorio.
El modo sucesor Ā«ārebase-mergesĀ» permite conservar la estructura de los cambios en la rama portĆ”til, a la vez que proporciona un conjunto completo de operaciones interactivas, que incluyen la eliminación, reorganización y cambio de nombre de las confirmaciones.
Por ejemplo, Ā«ārebase-mergesĀ» permite realizar confirmaciones de una rama separada a una rama maestra mĆ”s nueva, mientras se mantiene la estructura de la rama en la rama portĆ”til, y hacer algunos cambios en las notas para confirmarlas sobre la marcha.
La operación Ā«git rebaseĀ» se usa para reemplazar una serie de confirmaciones con una nueva confirmación de base, por ejemplo, para cambiar una rama separada en la que se estĆ” desarrollando alguna nueva caracterĆstica al estado actual de la rama maestra, incluidas las correcciones agregadas despuĆ©s de la rama.
Soporte backend sublime
El informe de Ā«git bisectĀ» se ha actualizado y ahora es mĆ”s legible, mientras que Ā«git mergetoolĀ» ahora tambiĆ©n es compatible con Sublime Merge (Ā«smergeĀ«) como backend. Git llama al nuevo gancho Ā«post-index-changeĀ» cuando el archivo de Ćndice almacenado cambia, lo que ayuda a los Ć”rboles de trabajo virtualizados.
AdemĆ”s, Ā«git difftoolĀ» ahora tambiĆ©n se ejecuta fuera de un repositorio y cancela Ā«git checkout -m <other>Ā» cuando detecta una diferencia entre HEAD y el Ćndice.
Debido a que empaquetar el Ćndice a veces toma mucho tiempo en el proceso de clonación, los desarrolladores le han dado al paso una barra de progreso.
Al mismo tiempo, Ā«git cloneĀ» se comunica a travĆ©s de la versión 2 del protocolo gracias a la nueva opción de servidor Ā«switchĀ«. Varias caracterĆsticas mejoran la finalización del código y los desarrolladores tambiĆ©n han trabajado en la herramienta trace2 trace.
El nuevo mecanismo de rastreo Trace2, ofrece un formato de salida mĆ”s flexible y estructurado. Trace2 permite recopilar telemetrĆa en operaciones y datos de rendimiento para un anĆ”lisis y depuración mĆ”s detallados (el usuario asigna el controlador, no se envĆan datos al exterior).
DesempeƱo y desarrollo
El mecanismo de diferencial integrado de Git se ha reescrito y ahora admite, asĆ como Ā«git commit-treeĀ», la API de āpack-redundantā y Ā«git multi-pack-index verifyĀ» ahora funcionan mĆ”s rĆ”pido en los repositorios que contienen muchos archivos de paquete. Para los desarrolladores, el marco de prueba se ha actualizado.
Recientemente, Ā«git stashĀ» se implementa en C, para Ā«git rebaseĀ«. AquĆ, la implementación de C se ha actualizado para evitar que git sobrescriba el mismo archivo una y otra vez. Ā«Git diffĀ» ahora tambiĆ©n se ejecuta mĆ”s rĆ”pido en escenarios especiales donde recopila información sobre blobs. Por Ćŗltimo, pero no menos importante, Ā«git cloneĀ» acelera el proceso de conexión.
También se agregó la capacidad de filtrar cuando se muestran las etiquetas extendidas «git log» adjuntas a los confirmaciones.