Nouvelle version de Git 2.28, permettant de ne pas utiliser le nom "master" pour les branches master

Disponible sortie d'un système de contrôle de source distribué Git 2.28.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 tout l'historique précédent est utilisé dans chaque commit ; ​​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 317 modifications préparées avec la participation de 58 développeurs, dont 13 ont participé au développement pour la première fois. Basique les innovations:

  • Ajout du paramètre init.defaultBranch, qui vous permet de sélectionner un nom arbitraire pour la branche principale, qui sera utilisée par défaut. Ce paramètre a été ajouté pour les projets dont les développeurs sont hantés par des souvenirs d'esclavage, et le mot « maître » est perçu comme une allusion offensante ou évoque une angoisse mentale et un sentiment de culpabilité non rachetée. GitHub, gitlab ce и bitbucket a décidé d'utiliser le mot « main » au lieu du mot « master » pour les branches principales. Dans Git, comme auparavant, l'exécution de la commande "git init" continue de créer la branche "master" par défaut, mais ce nom peut désormais être modifié. Par exemple, pour changer le nom de la branche initiale en "main" vous pouvez utiliser la commande :

    git config --global init.defaultBranch principal

  • Ajout d'optimisations de performances basées sur l'apparence dans le format de fichier commit-graph, utilisées pour optimiser l'accès aux informations de validation, prise en charge Filtres de floraison, une structure probabiliste qui permet une fausse identification d'un élément manquant, mais exclut l'omission d'un élément existant. La structure spécifiée vous permet d'accélérer considérablement la recherche dans l'historique des modifications lors de l'utilisation des commandes « git log - " ou " git blâme ".
  • La commande « git status » fournit des informations sur la progression de l'opération de clonage partiel (sparse-checkout).
  • Un nouveau paramètre "diff.relative" a été proposé pour la famille de commandes "diff".
  • Lors de la vérification via "git fsck", le tri de l'arborescence des objets est désormais évalué et les éléments non triés sont identifiés.
  • L'interface de modification des informations sensibles dans la sortie de trace a été simplifiée.
  • La prise en charge des options de complétion pour la commande "git switch" a été ajoutée au script de complétion des entrées.
  • « git diff » prend désormais en charge la transmission d'arguments dans différentes notations (« git diff A..BC », « git diff A..BC…D », etc.).
  • Ajout de la possibilité de spécifier un mappage d'élément personnalisé à la commande "git fast-export --anonymize" pour affiner la sortie afin de la rendre plus déboguable.
  • Le "git gui" vous permet d'ouvrir les arbres de travail à partir de la boîte de dialogue initiale.
  • Le protocole « fetch/clone » implémente la possibilité pour le serveur d'informer le client de la nécessité de charger des fichiers pack pré-préparés en plus des données d'objet compressées transmises.
  • Les travaux se sont poursuivis sur la transition vers l'algorithme de hachage SHA-256 au lieu de SHA-1.

Source: opennet.ru

Ajouter un commentaire