La nouvelle version est maintenant disponible Système de contrôle "Git 2.26.0", qui arrive avec quelques nouvelles, des supports expérimentaux et surtout des optimisations. Pour ceux qui ne connaissent pas Git, sachez que est l'un des systèmes de contrôle de version les plus populaires, fiable et performant, fournissant des outils de développement non linéaires flexibles basés sur le branchement et la fusion de succursales.
Pour assurer l'intégrité histoire et résistance au changement avec le recul, utiliser le hachage implicite À partir de tout l'historique précédent de chaque commit, les développeurs individuels de commit et de tag peuvent également être signés numériquement.
Par rapport à la version précédente, la nouvelle version a adopté 504 modifications préparées avec la participation de 64 développeurs, dont 12 ont participé au développement pour la première fois.
Points forts de Git 2.26.0
Dans cette nouvelle version la transition par défaut vers la deuxième version du protocole de communication Git a été effectuée, utilisé lors de la connexion à distance d'un client à un serveur Git. La deuxième version du protocole se distingue par la possibilité de filtrer les branches et les balises côté serveur avec le retour d'une liste abrégée de liens vers le client.
Une autre innovation importante est le possibilité d'ajouter de nouvelles fonctions au protocole lorsque de nouvelles fonctionnalités apparaissent dans la boîte à outils. Le code client est toujours compatible avec l'ancien protocole Et il peut continuer à fonctionner avec les serveurs nouveaux et anciens, revenant automatiquement à la première version si le serveur ne prend pas en charge la seconde.
L'option "–Show-scope« a été ajouté à la commande «git config", Quoi simplifie l'identification du lieu où certaines configurations sont définies.
Git vous permet de définir des configurations à différents endroits: dans le référentiel (.git / info / config), dans le répertoire de l'utilisateur (~ / .gitconfig), dans le fichier de configuration à l'échelle du système (/ etc / gitconfig), ainsi que via les options de ligne de commande et les variables d'environnement.
Lors de l'exécution de «git config«, Il est assez difficile de comprendre exactement où la configuration souhaitée est définie. L'option "–Afficher-origine»Était disponible pour résoudre ce problème, mais il n'affiche que le chemin du fichier dans lequel la configuration est définie, ce qui est utile si vous avez l'intention d'éditer le fichier, mais n'aide pas si vous devez changer la valeur via« git config »Avec les options –system, –global ou –local.
En revanche, il est mentionné dans l'annonce de cette nouvelle version que l'extension du support expérimental pour les clones partiels s'est poursuivie, qui permet de ne transférer qu'une partie des données et de travailler avec une copie incomplète du référentiel.
La nouvelle version ajoute une nouvelle commande "Ajouter Git sparse-checkout", que vous permet d'ajouter des répertoires séparés pour appliquer l'opération «caisse»Uniquement en dehors de l'arbre de travail, au lieu de lister tous ces répertoires à la fois via la commande«ensemble git sparse-checkout«.
Performance de commande «git grep«, Qui permet de rechercher à la fois le contenu réel du référentiel et les révisions historiques, augmente sensiblement.
Pour accélérer la recherche, il était permis d'analyser le contenu de l'arborescence de travail en utilisant plusieurs threads ("git grep – fils de discussion«), Mais la recherche dans les revues historiques a été monotrou. Cette restriction a maintenant été supprimée en raison de mise en œuvre de la possibilité de paralléliser les opérations de lecture du magasin d'objets.
Par défaut, le nombre de threads est égal au nombre de cœurs de processeur, ce qui, dans la plupart des cas, ne nécessite plus de définition explicite de "–Threads«.
Ajoutée prise en charge de la saisie semi-automatique des entrées de sous-commandes, chemins, liens et autres arguments de la commande "git worktree", qui permet de travailler avec plusieurs copies de travail du référentiel.
On peut aussi trouver la nouvelle version du script fsmonitor-watchman, qui fournit une intégration avec le mécanisme de Facebook Watchman pour accélérer le suivi des modifications de fichiers et l'apparition de nouveaux fichiers. Après la mise à jour de git, vous devez remplacer le hook dans le référentiel.
Si vous souhaitez en savoir plus sur cette nouvelle version, vous pouvez consulter la note originale dans le lien suivant