Sortie du système de contrôle de source distribué Git 2.23

Introduit sortie d'un système de contrôle de source distribué Git 2.23.0. Git est l'un des systèmes de contrôle de versions les plus populaires, les plus fiables et les plus performants, fournissant des outils de développement non linéaires flexibles basés sur le branchement et la fusion. Pour garantir l'intégrité de l'historique et la résistance aux modifications rétroactives, un hachage implicite de l'intégralité de l'historique précédent dans chaque commit est utilisé, et il est également possible de certifier des balises et des commits individuels avec les signatures numériques des développeurs.

Par rapport à la version précédente, la nouvelle version comprenait 505 modifications préparées avec la participation de 77 développeurs, dont 26 ont participé au développement pour la première fois. Basique les innovations:

  • Les commandes expérimentales "git switch" et "git recovery" sont introduites pour séparer les fonctionnalités "git checkout" faiblement couplées, telles que la manipulation de branche (commutation et création) et la restauration de fichiers dans le répertoire de travail ("git checkout $commit - $filename") ou immédiatement dans la zone de transit (« -staging », n'a pas d'analogue dans « git checkout »). Il convient de noter que, contrairement à "git checkout", "git recovery" supprime les fichiers non suivis des répertoires en cours de restauration ("--no-overlay" par défaut).
  • Ajout de l'option « git merge –quit », qui, similaire à « -abort », arrête le processus de fusion des branches, mais laisse le répertoire de travail intact. Cette option peut être utile s'il est préférable que certaines des modifications apportées lors d'une fusion manuelle soient émises sous forme de validation distincte.
  • Les commandes "git clone", "git fetch" et "git push" prennent désormais en compte la présence de commits dans les dépôts liés (suppléants);
  • Ajoutée les options « git blâme —ignore-rev » et « —ignore-revs-file » vous permettent d'ignorer les commits qui apportent des modifications mineures (par exemple, des correctifs de formatage) ;
  • Ajout de l'option « git Cherry-pick —skip » pour ignorer un commit conflictuel (un analogue mémorisé de la séquence « git reset && git Cherry-pick —continue ») ;
  • Ajout du paramètre status.aheadBehind, qui corrige définitivement l'option « git status -[no-]ahead-behind » ;
  • Depuis cette version, "git log" prend par défaut en compte les modifications apportées par mailmap, de la même manière que git shortlog le fait déjà ;
  • L'opération de mise à jour du cache expérimental du commit graph (core.commitGraph) introduite en 2.18 a été considérablement accélérée. Nous avons également rendu git for-each-ref plus rapide lors de l'utilisation de plusieurs modèles et réduit le nombre d'appels à auto-gc dans « git fetch —multiple » ;
  • "git branch --list" affiche désormais toujours un HEAD détaché au tout début de la liste, quels que soient les paramètres régionaux.

Source: opennet.ru

Ajouter un commentaire