GitHub vient de sortir la version bêta de GitHub CLI, un outil open-source qui permet aux développeurs de traiter les issues et les pull request en ligne de commande. Écrit en Go, la CLI GitHub peut être installée sur Linux, macOS et Windows.
À l'aide de GitHub CLI, les développeurs seront en mesure de répertorier les issues ouvertes et de les filtrer en fonction de l'assigné, de l'étiquette et de l'état; pour créer des pull requests; pour faire des check out de pull requests localement; pour afficher l'état de votre travail, et plus encore.
Par exemple, pour faire un check out sur une pull request localement, vous pouvez exécuter :
gh pr checkout <PR-number>
Cela va créer une branche locale avec les changements inclus dans la PR. De même, vous pouvez créer une pull request en utilisant :
gh pr create
Après avoir exécuté cette commande, GitHub CLI collectera le titre et la description à partir de la ligne de commande et créera la PR à distance. Alternativement, vous pouvez spécifier le titre et la description à l'aide d'indicateurs spécifiques :
gh issue create -t "Pull request title" -b "Pull request body"
Si vous connaissez un numéro de pull request, vous pouvez accéder à son résumé à partir de la ligne de commande en utilisant :
gh issue view <PR-number> --preview
Comme mentionné, vous pouvez également répertorier les issues et les pull requests. Pour répertorier les issues ouvertes les plus récentes, vous pouvez exécuter la commande issues list
, qui prend également en charge les options de filtrage :
gh issue list
gh issues list --label "critical"
De même, vous pouvez répertorier et filtrer les pull requests :
gh pr list --state closed --assignee user
Une dernière commande fournie par GitHub CLI est status
, qui affiche une vue récapitulative de votre travail, y compris le statut de votre branche, les pull requests ouvertes et les pull requests pour lesquelles vous êtes requis en tant que reviewer.
GitHub CLI est conçue pour fonctionner avec l'outil en ligne de commande git
et non pour le remplacer pour les flux de travail spécifiques à Git.
Avant GitHub CLI, l'outil semi-officiel hub a déjà tenté de fournir un accès en ligne de commande aux issues et aux pull requests de GitHub. Le hub
, cependant, a adopté une approche radicalement différente de celle de GitHub CLI en optant pour envelopper les commandes git
en plus de fournir des moyens de travailler avec des fonctionnalités spécifiques à GitHub. Mainteneur du hub
Mislav Marohnić a rédigé un compte rendu détaillé de son expérience dans le développement de hub
, y compris des conseils sur son avenir maintenant que GitHub a son propre outil CLI officiel.
Comme d'habitude, l'annonce de GitHub a suscité un certain nombre de réactions de la communauté des développeurs. Outre les remarques positives, plusieurs développeurs ont critiqué les limites de l'implémentation actuelle de GitHub CLI. Ceux-ci incluent par exemple le nombre limité de résultats renvoyés par la liste et le filtrage; l'absence d'une réplique locale des issues et des données des PR, ce qui rend l'utilisation de l'outil lente; et la difficulté de l'intégrer dans des workflows automatisés aux côtés d'autres outils en ligne de commande.