liberación dun sistema de control de fonte distribuído . 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 inclúe 505 cambios preparados coa participación de 77 desenvolvedores, 26 dos cales participaron no desenvolvemento por primeira vez. O principal :
- Preséntanse os comandos experimentais "git switch" e "git restore". O seu obxectivo é separar as funcionalidades vagamente relacionadas de "git checkout", como a manipulación de ramas (cambio e creación) e a restauración de ficheiros no directorio de traballo ("git checkout $commit - $filename") ou directamente na área de probas ("--staging", que non ten equivalente en "git checkout"). Cómpre sinalar que, a diferenza de "git checkout", "git restore" elimina os ficheiros non rastreados dos directorios restaurados ("--no-overlay" por defecto).
- Engadiuse a opción "git merge --quit". Do mesmo xeito que "--abort", detén o proceso de fusión de ramas pero deixa intacto o directorio de traballo. Esta opción pode ser útil se é preferible que algúns dos cambios introducidos durante unha fusión manual se publiquen 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 vinculados ();
- as opcións "git blame --ignore-rev" e "--ignore-revs-file", que permiten omitir commits que conteñen edicións menores (como correccións de formato);
- Engadida a opción "git cherry-pick --skip" para omitir un commit en conflito (equivalente memorizado da secuencia "git reset && git cherry-pick --continue");
- Engadiuse a configuración status.aheadBehind para definir permanentemente a opción "git status --[no-]ahead-behind";
- A partir desta versión, «git log» terá en conta os cambios no mapa de correo por defecto, do mesmo xeito que xa fai git shortlog;
- A operación de actualización para a caché de gráficos de confirmación experimental (core.commitGraph) introducida na versión 2.18 acelerouse significativamente. Tamén se acelerou Git for-each-ref ao usar varios modelos e reduciuse o número de chamadas auto-gc en "git fetch --multiple".
- "git branch --list" agora sempre mostra un HEAD separado na parte superior da lista, independentemente da configuración rexional.
Fonte: opennet.ru
