BT

Nouveau Early adopter ou innovator ? InfoQ a travaillé sur de nouvelles fonctionnalités pour vous. En savoir plus

Git continue d'améliorer la sécurité et l'interface utilisateur dans sa version 2.13

| par Sergio De Simone Suivre 4 Abonnés , traduit par Nicolas Frankel Suivre 0 Abonnés le 22 mai 2017. Durée de lecture estimée: 3 minutes |

La dernière version de Git introduit de nombreux changements visant à améliorer son interface utilisateur tout en réparant deux vulnérabilités importantes.

Comme on le sait, on a récemment démontré la vulnérabilité de l'algorithme de hachage SHA-1 utilisé par Git pour identifier des objets de manière unique aux attaques de collision. Alors que l'équipe Git se prépare à passer à un nouvel algorithme de hachage sécurisé, elle a mis en place un mécanisme pour détecter et rejeter tout objet qui semble avoir été créé dans le but de produire une collision. Cela devrait atténuer dans les faits le risque d'attaques de collision.

Toujours sur le front de sécurité, Git 2.13 corrige également une vulnérabilité affectant tous les serveurs Git qui utilisent git shell, qui offre un accès shell restreint via SSH aux commandes Git push/pull, plus des commandes personnalisées installées dans un répertoire git-shell-commands. La vulnérabilité a permis à des attaquants d'exécuter potentiellement des commandes shell sur le serveur distant.

Comme mentionné précédemment, Git 2.13 comprend de nombreuses améliorations à son interface utilisateur. En particulier, une fonctionnalité utile à tous les développeurs qui travaillent pour différents projets est la capacité à gérer de multiples identités grâce à des configurations conditionnelles. En bref, les configurations conditionnelles fournissent un moyen d'inclure un fichier de configuration Git basé sur un ensemble de conditions. Par exemple, vous pourriez avoir les directives suivantes dans votre fichier ~/.gitconfig pour personnaliser votre configuration Git en fonction du chemin d'accès du répertoire où réside le référentiel :

[includeIf "gitdir:~/work/"]
  path = .gitconfig-work
[includeIf "gitdir:~/play/"]
  path = .gitconfig-play

Plus précisément, cela peut être utilisé pour définir des user et des email différents dans .gitconfig-work et .gitconfig-play.

La gestion des chemins dans les commandes Git, c'est-à-dire les pathspecs est une autre caractéristique que presque tous les développeurs utilisent et que Git 2.13 modifie quelque peu. Par exemple, si vous souhaitez exécuter un grep sur tous les fichiers d'un type donné dans votre référentiel, vous pouvez écrire :

git grep my_pattern '*.c'

Maintenant, vous pouvez également utiliser des chemins d'accès négatifs, pour exclure des chemins spécifiques des commandes, et les chemins d'accès qui utilisent des attributs, ce qui permet d'inclure des attributs dans la définition de pathspecs. Par exemple :

git grep text_to_search -- src ':(exclude)*.c'

Les autres améliorations notables comprennent :

  • git branch, git tag et git for-each-ref prennent maintenant en charge l'option --no-contains, qui peut être utilisée pour sélectionner des balises ou des branches qui ne contiennent pas un commit spécifique, par exemple :

    git tag -l --no-contains cf5c725 'v[0-9]*' | sort | tail -n 10
    

    L'option --no-contains peut être utilisée conjointement avec l'option --contains pour, par exemple, trouver des branches créées entre deux balises :

    git branch --contains v2.8.0 --no-contains v2.10.0
    
  • git stash prend en charge l'utilisation de pathspecs pour mettre de côté seulement une partie de l'arbre de travail actuel, permettant ainsi plus de contrôle sur ce qui doit être mis de côté.

  • Un certain nombre de commandes sont maintenant compatibles avec les sous-modules, y compris checkout, grep et ls-files. Cela signifie qu'elles parcoureront de manière récursive vos sous-modules. De plus, git status --short affiche plus d'informations sur les sous-modules.

Vous pouvez lire l'intégralité des notes de version pour avoir une vue plus complète des nouveautés de Git 2.13.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT