Lanzamento do sistema de control de fonte distribuído Git 2.23
Presentado liberación dun sistema de control de fonte distribuído git 2.23.0. Git é un dos sistemas de control de versións máis populares, fiables e de alto rendemento, que ofrece ferramentas de desenvolvemento flexibles e non lineais baseadas en ramificación e fusión. Para garantir a integridade do historial e a resistencia aos cambios retroactivos, utilízase o hash implícito de todo o historial anterior en cada commit, e tamén é posible certificar etiquetas e commits individuais con sinaturas dixitais dos desenvolvedores.
En comparación coa versión anterior, a nova versión incluíu 505 cambios, preparados coa participación de 77 desenvolvedores, dos cales 26 participaron no desenvolvemento por primeira vez. Básico innovacións:
Introdúcense comandos experimentais "git switch" e "git restore" para separar as capacidades de "git checkout" pouco acopladas, como a manipulación de ramas (cambio e creación) e restauración de ficheiros no directorio de traballo ("git checkout $commit - $filename") ou inmediatamente na área de preparación ("—staging", non ten ningún análogo en "git checkout"). Paga a pena notar que, a diferenza de "git checkout", "git restore" elimina os ficheiros sen rastrexar dos directorios que se restauran ("--no-overlay" por defecto).
Engadiuse a opción “git merge –quit”, que, semellante a “-abort”, detén o proceso de fusión de ramas, pero deixa o directorio de traballo intacto. Esta opción pode ser útil se algúns dos cambios feitos durante unha combinación manual sería preferible emitirse como unha confirmación separada.
Os comandos "git clone", "git fetch" e "git push" agora teñen en conta a presenza de commits nos repositorios ligados (suplentes);
Engadido as opcións “git blame —ignore-rev” e “—ignore-revs-file” permítenche saltar as confirmacións que fan cambios menores (por exemplo, correccións de formato);
Engadida a opción “git cherry-pick —skip” para saltar unha confirmación en conflito (un análogo memorizado da secuencia “git reset && git cherry-pick —continue”);
Engadida a configuración status.aheadBehind, que corrixe permanentemente a opción "git status -[no-]ahead-behind";
A partir desta versión, "git log" ten en conta, por defecto, os cambios feitos polo mapa de correo, de xeito similar ao que xa o fai git shortlog;
A operación de actualización da caché experimental do gráfico de confirmación (core.commitGraph) introducida na versión 2.18 acelerouse significativamente. Tamén fixo que git for-each-ref fose máis rápido ao usar varios modelos e reduciu o número de chamadas a auto-gc en “git fetch —multiple”;
"git branch --list" agora sempre mostra HEAD separada ao principio da lista, independentemente da configuración rexional.