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.

Fonte: opennet.ru

Engadir un comentario