Nueva versión de Git 2.28, que permite no usar el nombre «master» para las ramas principales

Disponible lanzamiento del sistema distribuido de control de versiones Git 2.28.0. Git es uno de los sistemas de control de versiones más populares, confiables y de alto rendimiento, que ofrece herramientas flexibles para el desarrollo no lineal, basadas en bifurcaciones y fusiones de ramas. Para garantizar la integridad del historial y la resistencia a los cambios retroactivos, se utiliza un hashing implícito de toda la historia anterior en cada commit, y también es posible certificar digitalmente firmas de desarrolladores para etiquetas y commits individuales.

Comparado con la versión anterior, en la nueva versión se han incluido 317 cambios, preparados con la participación de 58 desarrolladores, de los cuales 13 participaron por primera vez en el desarrollo. Principales novedades:

  • Se agregó la configuración init.defaultBranch, que permite seleccionar un nombre arbitrario para la rama principal que se aplicará por defecto. Esta configuración se agregó para proyectos cuyos desarrolladores no pueden evitar recordar la esclavitud, y la palabra «master» se percibe como un insinuante insulto o evoca angustia y un sentido de culpa no redimida. GitHub, GitLab y Bitbucket se decidió utilizar la palabra «main» por defecto en lugar de «master» para las ramas principales. En Git, como antes, al ejecutar el comando «git init» se continúa creando por defecto la rama «master», pero este nombre ahora se puede cambiar. Por ejemplo, para cambiar el nombre de la rama inicial a «main», se puede usar el comando:

    git config —global init.defaultBranch main

  • Se han agregado optimizaciones de rendimiento basadas en la introducción del formato de archivo commit-graph, que se aplica para optimizar el acceso a la información de los commits, soporte de filtros de Bloom, una estructura probabilística que permite la falseada identificación de un elemento ausente, pero excluyendo la omisión de un elemento existente. Esta estructura permite acelerar notablemente la búsqueda en el historial de cambios al usar los comandos «git log — » o «git blame».
  • En el comando «git status» se proporciona información sobre el progreso de la operación de clonación parcial (sparse-checkout).
  • Para los comandos de la familia «diff» se ha propuesto una nueva configuración «diff.relative».
  • Al verificar con "git fsck", ahora se evalúa la clasificación del árbol de objetos y se identifican los elementos desordenados.
  • Se ha simplificado la interfaz para editar información confidencial en la salida de seguimiento.
  • Se ha añadido soporte para completar opciones del comando "git switch" en el script de autocompletado de entrada.
  • El comando "git diff" ha añadido soporte para pasar argumentos en diferentes notaciones ("git diff A..B C", "git diff A..B C…D", etc.).
  • Se ha añadido la capacidad de definir un mapeo personalizado en el comando "git fast-export --anonymize" para ajustar la salida, haciéndola más conveniente para la depuración.
  • En "git gui", ahora se permite abrir árboles de trabajo desde el diálogo inicial.
  • En el protocolo "fetch/clone", se ha implementado la capacidad de que el servidor informe al cliente sobre la necesidad de descargar archivos pack preparados con antelación además de los datos empaquetados objeto transmitidos.
  • Se ha continuado el trabajo de transición al algoritmo de hash SHA-256 en lugar de SHA-1.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster