GitHub недавно анонсировал GitHub CLI; собственный инструмент командной строки для взаимодействия с GitHub из командной строки.

С помощью интерфейса командной строки GitHub разработчики могут проверять статус проблем и запросов на вытягивание GitHub, искать конкретную проблему или PR, создавать / разветвлять репо или создавать новые задачи и запросы на вытягивание прямо из командной строки.

В этом посте мы рассмотрим некоторые общие ежедневные рабочие процессы разработчика. По мере того, как мы это делаем, мы сосредоточимся на том, как мы можем управлять своими проблемами и запросами на вытягивание с помощью GitHub CLI.

Что такое GitHub CLI?

Итак, мы все на одной странице, начнем с краткого обзора интерфейса командной строки GitHub. Если вы уже знакомы с ним, переходите к следующему разделу.

GitHub CLI лучше всего описать как «GitHub из командной строки».

В настоящее время GitHub CLI находится в версии v0.6.3 и состоит из целенаправленного набора функций вокруг трех артефактов GitHub:

  • Проблемы
  • Запросы на вытягивание
  • Репозитории

С помощью интерфейса командной строки GitHub разработчики могут выполнять следующие команды в отношении этих различных артефактов:

  • создать
  • список
  • статус
  • просмотр
  • checkout (только запросы на вытягивание)
  • клон (только репо)
  • форк (только репо)

Как упоминалось ранее, в этом посте мы сосредоточимся только на командах, связанных с проблемами и запросами на вытягивание.

Как установить GitHub CLI?

Чтобы установить GitHub CLI на свой компьютер для разработки, ознакомьтесь с руководством по установке на GitHub. Вы также можете следовать руководству на моем канале YouTube.

Интерфейс командной строки GitHub доступен в MacOS, Windows и различных дистрибутивах Linux, поэтому у вас не должно возникнуть проблем с запуском инструмента на вашем компьютере.

Использование интерфейса командной строки GitHub для управления проблемами GitHub

Если работа с проблемами GitHub является регулярной частью ваших процессов разработки, то в интерфейсе командной строки GitHub, вероятно, есть несколько полезных команд для вас. Давайте рассмотрим, как может выглядеть типичный рабочий день, и выделим несколько примеров использования интерфейса командной строки GitHub для работы с проблемами на GitHub.

Список проблем с интерфейсом командной строки GitHub

Представим, что мы просто сидим за компьютером в течение дня и хотим перечислить открытые проблемы GitHub для нашего проекта.

gh issue list

Если мы хотим перечислить ВСЕ проблемы, мы могли бы использовать флаг «состояние».

gh issue list --state "all"gh issue list -s "all"

Теперь, возможно, мы поняли, что слишком много проблем, чтобы разобраться, поэтому мы решили, что хотим перечислить только те проблемы, которые вы назначили на данный момент.

gh issue list --assignee "n8ebel"

Или вы можете использовать короткую форму

gh issue list -a "n8ebel"

Проверьте статус проблемы с помощью интерфейса командной строки GitHub

Затем мы хотим проверить состояние пары задач, которые мы создали вчера. Возможно, мы не помним их точные номера, но, поскольку мы их создали, мы можем использовать команду status, чтобы вывести их список на терминале.

gh issue status

Это даст нам список задач, которые были переданы нам, с упоминанием нас, или которые были открыты нами.

Проверив эти проблемы, мы все еще не можем найти проблему, которую ищем, поэтому мы можем проверить, закрыта она или нет.

gh issue list --state "closed"gh issue list -s "closed"

Замечательно! Наша проблема закрыта, поэтому теперь мы готовы приступить к следующей задаче. Мы могли бы начать поиск новых задач, перечислив проблемы, отфильтрованные по разным меткам.

Чтобы перечислить все наши открытые ошибки, мы могли бы отфильтровать их по метке «ошибка», определенной в нашем репозитории GitHub.

gh issue list --label "bug"gh issue list -l "bug"

Если вы не знаете, какие ярлыки доступны для открытых проблем, вы можете сначала проверить, снова перечислив все открытые проблемы.

gh issue list

Теперь мы видим, что есть еще ярлык улучшения, который мы можем искать

gh issue list -l "enhancement"

Просмотр проблем с интерфейсом командной строки GitHub

Как только мы обнаружим проблему, которую хотим исправить, мы можем назначить эту проблему себе. В настоящее время мы не можем сделать это непосредственно из командной строки, но мы можем быстро открыть проблему из командной строки с помощью команды «view».

gh issue view "15"

Это откроет проблему в веб-браузере, где вы сможете назначить ее себе.

Назначив себе какие-либо проблемы, вы можете дважды проверить свои назначения из командной строки, перечислив открытые ошибки, назначенные вам.

gh issue list -a "n8bel" -l "bug"

Создание проблем с помощью интерфейса командной строки GitHub

Теперь у нас есть последняя команда для изучения.

Представьте, что мы обнаружили дополнительную ошибку, о которой нужно сообщить, пока мы работаем над назначенными нам проблемами.

Мы можем использовать команду создания задачи gh, чтобы создать новую задачу GitHub прямо из командной строки.

gh issue create

Использование этой команды как есть запустит интерактивный рабочий процесс терминала, чтобы выбрать любой доступный шаблон проблемы GitHub, а затем заполнить заголовок и описание проблемы. Наконец, у вас будет возможность отправить проблему, открыть ее в браузере или отменить.

Если вы хотите немного упростить задачу, вы можете указать проблему с помощью команды, используя дополнительные флаги.

gh issue create -t "Sample Issue Title" -b "Sample issue description"

Если вы по-прежнему предпочитаете создавать проблему из Интернета, вы можете использовать следующую команду, чтобы открыть окно браузера и сразу перейти к рабочему процессу создания задачи в вашем репозитории.

gh issue create --web

Полезные псевдонимы интерфейса командной строки GitHub

Таким образом, с этими различными вариантами команд и флагов у нас есть довольно много вариантов для создания, перечисления и просмотра наших проблем GitHub.

Мы можем упростить работу с этими командами, создав для них несколько псевдонимов командной строки.

Например, при выводе списка всех ошибок вместо использования этой полной команды

gh issue list --label "bug"

Мы могли бы создать такой псевдоним

alias listbugs='gh issue list --label "bug"'

Таким образом, когда мы хотим перечислить все ошибки, мы можем просто ввести:

listbugs

Другой пример - использовать следующий псевдоним для перечисления всех присвоенных вам ошибок.

alias listmybugs='gh issue list -a "<your username>" -l "bug"'

Имея этот псевдоним, мы можем искать все присвоенные вам ошибки следующим образом:

listmybugs

Управление запросами на извлечение с помощью интерфейса командной строки GitHub

Теперь давайте рассмотрим использование GitHub CLI для управления запросами на вытягивание. Опять же, давайте пройдемся по воображаемому рабочему дню и посмотрим, в чем этот инструмент поможет нам.

Список запросов на извлечение

Еще раз, мы садимся за свой компьютер в течение дня, и мы хотим перечислить открытые запросы на вытягивание для нашего проекта.

gh pr list

Если мы хотим перечислить ВСЕ запросы на вытягивание, как открытые, так и закрытые, мы могли бы использовать флаг «состояние».

gh pr list --state "all"gh pr list -s "all"

Теперь, возможно, мы поняли, что слишком много PR, чтобы разобраться, поэтому мы решили, что хотим перечислить только ваши текущие назначенные проблемы.

gh pr list --assignee "n8ebel"

Или вы можете использовать короткую форму

gh pr list -a "n8ebel"

Проверить статус запроса на извлечение

Затем мы хотим проверить статус пары PR, которые мы создали вчера. Возможно, мы не помним их точные номера, но, поскольку мы их создали, мы можем использовать команду status, чтобы вывести их список на терминале.

gh pr status

Это даст нам список PR, которые назначены нам, упоминают нас или которые были открыты нами.

После проверки этих PR мы все еще не можем найти запрос на перенос, поэтому мы можем проверить, был ли он закрыт или нет.

gh pr list --state "closed"gh pr list -s "closed"

Замечательно! Наш PR был закрыт, так что теперь мы готовы искать нашу следующую задачу. Мы могли бы начать поиск новых задач, перечислив запросы на вытягивание, отфильтрованные по разным меткам.

Чтобы перечислить все наши открытые PR с исправлениями ошибок, мы могли бы отфильтровать их по метке «ошибка», определенной в нашем репозитории GitHub.

gh pr list --label "bug"gh pr list -l "bug"

Если вы не знаете, какие ярлыки доступны для открытых вопросов, вы можете сначала проверить, снова перечислив все открытые PR.

gh pr list

Теперь мы видим, что есть еще ярлык улучшения, который мы можем искать

gh pr list -l "enhancement"

Просмотр запроса на включение

Как только мы найдем PR, который хотим проверить, мы можем назначить этот PR себе. В настоящее время мы не можем сделать это непосредственно из командной строки, но мы можем быстро открыть PR из командной строки с помощью команды view.

gh pr view "14"

Это откроет запрос на перенос в веб-браузере, где вы сможете назначить его себе, просмотреть и т. Д.

Вы можете дважды проверить назначенные вам запросы на вытягивание из командной строки, перечислив назначенные вам PR.

gh pr list -a "n8bel" -l "bug"

Создать запрос на слияние

Поскольку мы работаем над назначенной нам проблемой, в какой-то момент мы захотим создать новый запрос на перенос, основанный на наших локальных изменениях.

Мы можем использовать команду gh pr create для создания нового запроса на перенос прямо из командной строки.

gh pr create

Использование этой команды как есть запустит интерактивный рабочий процесс терминала для заполнения заголовка и описания проблемы. Наконец, у вас будет возможность отправить PR, открыть его в браузере или отменить.

Если вы хотите немного упростить, вы можете конкретизировать PR-информацию с помощью команды, используя дополнительные флаги

gh pr create -t "Sample Issue Title" -b "Sample issue description"

Если вы по-прежнему предпочитаете создавать PR из Интернета, вы можете использовать следующую команду, чтобы открыть окно браузера и сразу перейти к рабочему процессу создания PR в вашем репозитории.

gh pr create --web

В какой-то момент мы захотим протестировать PR на месте. Обычно это требует поиска PR, проверки ветки, в которой он находится, а затем локальной проверки.

Используя GitHub CLI, мы можем упростить этот процесс с помощью команды pr checkout.

gh pr checkout "14"

Это проверит ветку, связанную с PR 14, так что вы будете готовы начать тестирование. Таким образом, с этими различными вариантами команд и флагов у нас есть довольно много вариантов для создания, перечисления и просмотра наших запросов на вытягивание GitHub.

Мы можем упростить работу с этими командами, создав для них несколько псевдонимов командной строки.

Например, при перечислении всех PR вместо использования этой полной команды

gh pr list --label "bug"

Мы могли бы создать такой псевдоним

alias listprs='gh pr list --label "bug"'

Таким образом, когда мы хотим перечислить все PR, связанные с ошибками, мы можем просто ввести

listprs

Другой пример - использовать следующий псевдоним для перечисления всех назначенных вам PR.

alias listmyprs='gh pr list -a "<your username>"'

Имея этот псевдоним, мы можем искать все назначенные вам PR.

listmyprs

Дополнительные ресурсы GitHub

Прочтите следующие статьи, чтобы узнать о других способах использования GitHub в рабочих процессах разработки.

Подпишитесь на другие сообщения, видео и ресурсы о разработке программного обеспечения

Сообщение GitHub CLI - GitHub From The Command Line впервые появилось на goobar.io.