
Разработчики GitHub выпустили бета-версию консольной утилиты GitHub CLI. Она позволяет создавать пул-реквесты и тикеты на GitHub, не выходя из консоли, где вы уже работаете с git.
Пул-реквесты и issue — самые распространённые команды, поэтому их добавили в первую очередь.
Как и прошлая программа Hub, эта полностью написана на Go. Она тоже запускается в разных ОС, включая Linux, MacOS и Windows, причём гораздо удобнее в использовании.
gh pr [status, list, view, checkout, create]
gh issue [status, list, view, create]
gh help
Для получения справки по любой команде/подкоманде добавьте в конце строки
--help. Например:$ gh issue create --help Create a new issue Usage: gh issue create [flags] Flags: -b, --body string Supply a body. Will prompt for one otherwise. -t, --title string Supply a title. Will prompt for one otherwise. -w, --web Open the browser to create an issue Global Flags: --help Show help for command -R, --repo OWNER/REPO Select another repository using the OWNER/REPO format
Глобальные флаги:
--help Show help for command -R, --repo OWNER/REPO Select another repository using the OWNER/REPO format --version Show gh version
Примеры команд
Отображение списка тикетов с пометкой "help wanted"
~/Projects/my-project$ gh issue list --label "help wanted"
Создание пул-реквеста
~/Projects/my-project$ gh pr create
Здесь же под флагом
-B указываем ветку, если это не мастер. Flags: -B, --base string The branch into which you want your code merged -b, --body string Supply a body. Will prompt for one otherwise. -d, --draft Mark pull request as a draft -t, --title string Supply a title. Will prompt for one otherwise. -w, --web Open the web browser to create a pull request
Если не ввести тему и содержание пул-реквеста в командной строке, то появится интерактивное поле для ввода прямо в консоли.

При отправке пул-реквеста GitHub CLI автоматически создаёт форк мастера, если он не был создан ранее.
Проверка изменений/статуса
~/Projects/my-project$ gh pr status Current branch #12 Remove the test feature [Rexogamer:patch-2] - All checks failing - review required Created by you You have no open pull requests Requesting a code review from you #13 Fix tests [branch] - 3/4 checks failing - review required #15 New feature [branch] - Checks passing - approved
Отмена изменений (check out)
~/Projects/my-project$ gh pr checkout 12 remote: Enumerating objects: 66, done. remote: Counting objects: 100% (66/66), done. remote: Total 83 (delta 66), reused 66 (delta 66), pack-reused 17 Unpacking objects: 100% (83/83), done. From https://github.com/owner/repo * [new ref] refs/pull/8896/head -> patch-2 M README.md Switched to branch 'patch-2'
Нужно признать, что после покупки со стороны Microsoft разработка новых функций GitHub явно ускорилась. Есть версия, что перед покупкой в проекте накопился очень большой технический долг (старые версии на Rails и прочее), но новый владелец бросил массу ресурсов на его устранение, благо у него есть такие возможности.
Теперь большая часть проблем позади, так что разработчики GitHub могут, наконец, сосредоточиться на развитии продукта. Они ждут отзывов по GitHub CLI в анкете и репозитории.
