Premiers pas avec les outils de bureau et mobiles de GitHub

Microsoft a adopté une approche très pratique avec GitHub depuis son acquisition l'année dernière. C'est une approche qui a beaucoup de sens; La relation passée de Microsoft avec la communauté open source n'a pas été la meilleure, et il n'y a toujours pas beaucoup de confiance là-bas, malgré les avancées significatives vers la conception ouverte et les modèles de développement ouverts de Redmond.

Cependant, cela n'a pas laissé GitHub stagnant et dérivant. Au lieu de cela, sous une nouvelle direction et avec plus de clarté sur son avenir, GitHub a accéléré le développement et le déploiement de ses produits, ajoutant des fonctionnalités à ses services Web et à sa plate-forme. Les outils propres aux développeurs de GitHub ont attiré beaucoup plus d'attention au cours de l'année écoulée, avec des mises à jour régulières de GitHub Desktop et la sortie de ses premières applications mobiles natives pour iOS et Android.

Être social avec votre code

GitHub sert bien plus que de partager votre code avec votre équipe ou le monde entier. Ses référentiels s'appuient sur le protocole de contrôle de source open source Git sous-jacent, en l'utilisant comme base d'un modèle de codage social qui vise à changer la façon dont les développeurs travaillent, en public et en privé. C'est un modèle de développement intéressant. Avec le passage aux équipes distribuées et distantes, il est de plus en plus important de trouver de nouvelles façons d'ajouter la collaboration.

Vous n'êtes pas limité à l'utilisation des propres outils de GitHub, car tout client Git fonctionnera avec le service. Une option est l'implémentation populaire de Git pour Windows que Microsoft intègre dans l'éditeur de son programmeur Visual Studio Code. Avec des connexions profondes dans l'Explorateur Windows et sa propre ligne de commande de type bash, c'est un moyen facile d'utiliser Git et GitHub, en traitant les référentiels locaux et distants exactement de la même manière.

Alors pourquoi utiliser les propres outils de GitHub? Son modèle de codage social a ajouté plus au flux de travail Git que la simple création de commits et la gestion des fusions, avec des outils pour analyser le code et créer des conversations autour des actions de votre équipe. Grâce à ses outils, vous n'avez pas à passer du temps dans une application Web, à vous éloigner de votre flux de travail et de votre chaîne d'outils, à perdre du contexte chaque fois que vous souhaitez commenter un changement ou évaluer une pull request. En intégrant ces fonctionnalités dans ses applications de bureau et mobiles, GitHub facilite le travail social sans gêner le travail et l'écriture de code.

Présentation de GitHub Desktop

GitHub Desktop est le moyen préféré de GitHub pour intégrer votre chaîne d'outils de bureau au service. Disponible pour Windows et Mac, c'est un moyen de visualiser et de gérer les référentiels et les branches, en liant votre système de fichiers local à votre compte GitHub. Les référentiels sont clonés localement et les modifications sont validées dans votre branche actuelle. Une fois que vous en êtes satisfait, il est facile de les repousser sur GitHub en une seule action de synchronisation.

C'est un outil relativement simple, capable de prendre une URL GitHub et de cloner le référentiel localement ou de créer un nouveau référentiel basé sur une arborescence de répertoires dans votre système de fichiers local. De cette façon, vous pouvez utiliser un outil tel que Draft pour créer la structure d'une application avant de configurer un référentiel.

Vous avez besoin d'un compte GitHub pour utiliser l'un des outils de GitHub, soit sur GitHub lui-même, soit dans une instance GitHub Enterprise. Si vous utilisez un client Git existant tel que Git pour Windows, vous pouvez l'utiliser avec GitHub Desktop, en réunissant les deux outils. Vous pouvez choisir un éditeur externe et un shell, avec des options pour la ligne de commande Windows, PowerShell ou l'invite bash de Git. Il n'y a pas encore de support pour le nouveau terminal Windows ou pour le sous-système Windows pour Linux.

Travailler avec GitHub Desktop

Une fois installé et configuré, GitHub Desktop vous offre la possibilité de travailler avec des référentiels locaux ou de cloner des référentiels Git externes. Bien que GitHub Desktop utilise par défaut le dossier de documents Windows pour ses référentiels locaux, vous pouvez choisir un autre chemin racine pour vos fichiers, celui qui correspond à votre flux de travail personnel. La création d'un nouveau référentiel local ajoute un nouveau dossier racine de référentiel à votre chemin local et effectue une validation initiale avec un fichier readme au format balisage. Vous pouvez ensuite ajouter le référentiel local à votre compte GitHub et transférer vos fichiers et modifications dans un référentiel GitHub.

Une grande partie de ce que fait GitHub Desktop peut être effectuée à partir de la ligne de commande avec un client Git standard. Ce qui est important à propos de GitHub Desktop, c'est de savoir comment il vous montre ce qui a changé dans le code partagé, en affichant l'historique associé à un référentiel et des vues rapides de toutes les différences.

Une option consiste à utiliser GitHub Desktop comme centre de vos activités de développement, en gérant les branches de code et en lançant l'éditeur de code de votre choix en cas de besoin. Les messages de validation sont ajoutés à toutes les modifications et vous pouvez choisir la branche pour vos modifications de code. Une fois que vous êtes satisfait de vos modifications, GitHub Desktop peut les transformer en pull requests, prêtes pour la révision du code. Il n'est pas nécessaire d'accéder à votre navigateur pour gérer les demandes d'extraction qui sont effectuées dans vos projets. Dans GitHub Desktop, ouvrez une branche pour voir la liste actuelle, qui peut être extraite en tant que branches locales pour examen et test, avant d'accepter et de fusionner les modifications dans la branche appropriée.

Le codage social consiste à travailler avec d'autres développeurs, en tirant parti des pratiques de développement agiles modernes. Un inconvénient des outils Git traditionnels est qu'ils lient les engagements à un seul utilisateur, cachant les efforts de collaboration. Avec GitHub Desktop, vous pouvez ajouter d'autres membres de l'équipe à un commit, en vous assurant que les contributions sont reconnues. De cette façon, les sessions de programmation par paires et de débogage par-dessus l'épaule peuvent être suivies, vous permettant de capturer des détails sur qui a une expertise dans une section spécifique d'un projet ou qui peut être appelé pour aider avec des problèmes similaires dans d'autres applications.

Amener GitHub où que vous soyez

Desktop n'est pas le seul client GitHub officiel. La société a récemment lancé des versions bêta des clients iOS et Android. Tout comme l'outil de bureau, ils sont conçus pour vous aider à gérer vos référentiels. Au lieu d'agir comme un hub pour votre code, les clients mobiles sont mieux considérés comme des outils de tri des travaux soumis par des collaborateurs ou signalés par d'autres outils dans votre pipeline CI / CD (intégration continue / développement continu).

Les appareils mobiles ne sont pas destinés à modifier le code, mais ils font suffisamment de téléspectateurs, vous pouvez donc parcourir le code pendant vos trajets quotidiens ou autour d'un café avant d'accepter les modifications ou de décider de ce qui doit être fait en cas de problème. Vous pouvez ajouter des réponses rapides aux demandes d'extraction, et si vous utilisez des tests automatisés pour approuver le code, vous pouvez voir rapidement l'état de vos actions avant d'effectuer une fusion. Traiter GitHub comme une boîte de réception de courrier électronique fonctionne étonnamment bien, passant d'une tâche à l'autre, marquant comme terminé ou enregistrant pour plus tard.

Même si vous n'éditez pas de code dans GitHub Mobile, je recommande toujours de l'utiliser avec un appareil à écran relativement grand, peut-être même une tablette. Ce n'est pas moins capable sur un écran plus petit, il est juste plus difficile de lire le code et de voir les changements dans le contexte d'un gros module.

Le codage social est pour plus que l'open source et le développement public. C'est un outil efficace pour vos propres référentiels privés ou pour les services d'entreprise de GitHub. Des outils comme ceux-ci vous éloignent du navigateur, avec un hub pour relier vos référentiels, leurs clones locaux et les différentes branches utilisées pour votre processus de développement avec vos éditeurs de code, vos outils de test et toutes les autres parties de votre chaîne d'outils. L'approche est compatible avec les pratiques de développement modernes, soutenant les individus et les équipes dans leurs flux de travail.