Comment utiliser Git et GitHub pour le développement Microsoft

L'acquisition de GitHub par Microsoft est terminée et l'ancien PDG de Xamarin, Nat Friedman, est désormais en charge du service de gestion du code cloud. Ce n'était pas une acquisition surprenante: au cours des dernières années, les processus de développement de Microsoft ont pris une dépendance de plus en plus profonde à Git et GitHub. Et les problèmes de gestion de GitHub ont empêché l'entreprise d'aller de l'avant, et après une courte guerre d'enchères, Microsoft a décidé de prendre le relais.

Il vous suffit de consulter le rapport annuel sur l'état de l'octoverse de GitHub pour voir à quel point il est important pour Microsoft. Dans le Top 10 des projets, trois sont des outils Microsoft clés, et trois autres sont des projets open source importants utilisés sur les plates-formes Microsoft. Microsoft est également le plus grand contributeur commercial aux projets open source hébergés sur GitHub, avec plus de 7700 commits l'année dernière.

Des projets tels que .Net Core, PowerShell Core, F #, C #, le compilateur Roslyn, Visual Studio Code et TypeScript sont hébergés sur GitHub, avec une conception et un développement ouverts, et avec une contribution tierce significative. C'est également le back-end du nouveau service de documentation de Microsoft Docs, avec des demandes d'extraction disponibles pour toute documentation. Même Windows utilise Git, bien qu'il se trouve sur des référentiels internes privés utilisant le système de fichiers virtuel de Microsoft pour Git pour gérer l'ampleur de sa base de code, ne téléchargeant que les actifs nécessaires plutôt que l'ensemble d'un référentiel.

Git dans Visual Studio Code

Avec Git et GitHub partout chez Microsoft, il est également intégré aux outils de développement de Microsoft et à la façon dont les développeurs créent des applications sur Windows et pour Azure. Lorsque vous installez une nouvelle copie de Visual Studio Code, il vous encourage à télécharger et installer le client Windows Git, afin que vous puissiez vous connecter à n'importe quel référentiel basé sur Git, que vous utilisiez GVFS, que vous utilisiez une installation Git locale ou que vous ayez un compte sur GitHub, GitLab ou tout autre service Git hébergé dans le cloud.

Le client Git Windows est un outil de ligne de commande. Disponible en versions 32 et 64 bits, c'est un moyen simple d'intégrer la fonctionnalité Git dans Windows et dans les outils de développement Windows. L'installation est assez simple, avec l'intégration de l'Explorateur Windows pour son propre shell basé sur Bash et dans la propre ligne de commande de Windows. Si vous n'avez pas installé Visual Studio Code, il s'agit d'une option de téléchargement à partir du programme d'installation de Git Windows, et il peut être configuré comme éditeur par défaut pour Git.

Bien que le client recommande d'utiliser Git Bash pour éviter de modifier votre Windows PATH, ce n'est pas vraiment un problème, surtout si vous prévoyez de l'utiliser avec d'autres outils de développement et depuis la ligne de commande Windows. Je recommande d'installer avec la prise en charge de la ligne de commande, et bien que cela ne donne pas accès aux outils de style Unix qui sont fournis avec Git, cela vous permet d'accéder à Git non seulement à partir de la ligne de commande Windows, mais également à partir du terminal intégré à Visual Studio Code .

Git pour Windows utilise OpenSSL par défaut pour les connexions sécurisées. Auparavant, cela posait plus de problème qu'aujourd'hui, car Windows 10 propose désormais des outils SSL intégrés. Il existe une autre option qui prend en charge l'utilisation des outils Windows Secure Channel, ce qui peut être préférable si vous devez verrouiller l'accès à un référentiel Git local qui est sécurisé avec un certificat d'entreprise stocké dans Active Directory.

Utiliser Git avec Windows

Les versions récentes de Windows 10 ont ajouté la prise en charge des fins de ligne de style Unix dans les éditeurs de texte Windows (y compris le Bloc-notes!). Cela rend l'option de conversion de fin de ligne Git moins importante, mais elle est là pour les anciennes versions de Windows et signifie que le code multiplateforme est vérifié avec des fins de ligne de style Windows et se réintègre avec le style Unix. En utilisant cette option, vous pouvez utiliser n'importe quel éditeur Windows pour modifier le code du référentiel sans vous soucier des fins de ligne affectant les pipelines de build ou les outils de déploiement. De même, les améliorations de la console Windows signifient qu'il est plus facile de travailler avec Git dans la console par défaut sans avoir à installer et utiliser MinTTY comme terminal alternatif pour Git.

Une fois installé, Git pour Windows est accessible depuis n'importe quelle ligne de commande Windows (bien que vous deviez installer une version Unix pour le sous-système Windows pour Linux [WSL]), y compris le terminal intégré dans Visual Studio Code.

Vous voudrez probablement rechercher automatiquement les mises à jour, car il s'agit d'un projet en évolution rapide avec des versions régulières. Si vous passez d'un PC à un autre, il existe également une version portable qui fonctionne à partir d'une clé USB, vous pouvez donc regrouper la plupart de vos outils de développement sur un seul lecteur et les emporter avec vous.

Vous pouvez extraire le code de n'importe quel référentiel Git à l'aide des commandes Git sur la ligne de commande Windows ou via le terminal Visual Studio Code. Une vue Git d'un dossier montre les modifications et donne un accès rapide aux commandes Git courantes. Vous pouvez mettre à jour votre copie locale, stocker les modifications ou valider les mises à jour. Il est assez facile de créer rapidement une nouvelle branche à partir d'une copie d'un maître, ce qui simplifie le processus de travail avec du code partagé.

L'intégration de Git dans Visual Studio Code a beaucoup de sens. Microsoft peut s'appuyer sur un outil open source familier dans un environnement de développement largement adopté par les communautés open source. Il n'est pas nécessaire d'apprendre de nouvelles commandes et vous avez la possibilité d'utiliser la ligne de commande ou la souris, selon l'option d'interface utilisateur que vous préférez.

Git et GitHub dans Visual Studio

Si vous utilisez Visual Studio, il existe de nombreux outils pour intégrer votre code avec des référentiels distants. Les versions actuelles prennent en charge Git intégré, à l'aide de l'outil de connexion dans l'onglet Équipe pour ouvrir un référentiel. Vous pouvez utiliser un référentiel Git local ou travailler avec Git dans Azure Devops et Visual Studio Team Services. Le code peut être rapidement ramifié pour votre propre travail, en créant des branches locales à partir de maîtres distants. Lorsque vous ajoutez des instructions de validation, vous créez de la documentation, prête à fusionner vos modifications dans la branche principale via une pull request. Une synchronisation initiale crée une copie de votre branche locale sur le référentiel distant, où vous pouvez appliquer les modifications et créer une liste d'extraction prête pour la révision du code.

GitHub possède sa propre extension Visual Studio, qui peut être installée avec Visual Studio ou ajoutée ultérieurement. Il existe un support pour des connexions plus sécurisées, via l'authentification à deux facteurs. Les référentiels associés à votre compte sont accessibles en un clic et vous pouvez créer de nouveaux référentiels dans les services standard ou d'entreprise à partir de Visual Studio, y compris en publiant des projets existants. Avec l'extension, GitHub fait partie de la vue Team Explorer, y compris la gestion des demandes d'extraction.

Autres outils Git pour les développeurs Windows

Les utilisateurs de Visual Studio Code peuvent trouver des outils GitHub tiers dans Visual Studio Marketplace, avec la prise en charge des flux GitHub. D'autres extensions basées sur Git prennent en charge des options et des flux de travail Git spécifiques, y compris le populaire Gitflow. Vous trouverez également des outils de suivi des problèmes et des notifications, qui, avec les dernières fonctionnalités de GitHub, devraient faire de Visual Studio Code un hub utile pour vos tâches devops. La prise en charge supplémentaire provient d'un outil de bureau qui apporte l'expérience utilisateur de GitHub à votre PC de développement, prenant en charge le développement collaboratif et ajoutant des outils visuels pour comparer les différences entre les branches dans le cadre de la révision de code.

Le contrôle de version est la clé des devops modernes, et l'ajout de Git à Windows et aux outils de développement de Microsoft est une étape importante vers un développement réactif et agile. Avec Git intégré à Visual Studio et avec de nombreux outils axés sur Git pour Visual Studio Code, il n'y a vraiment aucune excuse pour ne pas en profiter.