TL;DR
GitHub CLI (gh) — это официальный инструмент командной строки от GitHub, который позволяет работать с репозиториями, issues, pull requests и релизами прямо из терминала. Бесплатный, open-source, работает на Windows, macOS и Linux. Идеально подходит для разработчиков, которые проводят много времени в CLI и хотят автоматизировать GitHub-workflow.
Ключевые факты
| Параметр | Значение |
|---|---|
| Цена | Бесплатно (open-source) |
| Платформы | macOS, Windows, Linux |
| Лицензия | MIT |
| Язык | Go |
| Версия | 2.x |
| Репозиторий | github.com/cli/cli |
Возможности GitHub CLI
Управление Pull Requests
Основная сильная сторона gh — работа с pull requests. Команда gh pr status показывает текущее состояние всех PR: какие вы создали, какие запрашивают ваш ревью, и что происходит с вашими ветками. Команда gh pr checkout <номер> мгновенно переключается на ветку PR без необходимости добавлять remote. Создание нового PR через gh pr create — интерактивный процесс с подсказками для title, description и выбора ветки назначения.
Работа с Issues
gh issue list выводит все открытые issues с возможностью фильтрации по labels, assignee и другим параметрам. Можно создавать новые issues (gh issue create), просматривать детали конкретной issue и закрывать их прямо из терминала. Это особенно удобно для maintainers open-source проектов, которые предпочитают не переключаться в браузер.
Releases и управления репозиториями
Для релизов используется команда gh release create, которая создает tag, release notes и публикует его на GitHub. Просмотр репозитория через gh repo view показывает README и базовую информацию без открытия браузера. Также доступны команды для создания (gh repo create), клонирования и форка репозиториев.
Кастомизация через Aliases
Одна из мощных функций — настраиваемые алиасы команд. Например, gh alias set bugs 'issue list --label="bugs"' создает шорткат для поиска issues с определенным label. Это позволяет строить собственные workflows и сокращать часто используемые команды.
Интеграция с GitHub Enterprise
GitHub CLI поддерживает подключение к GitHub Enterprise Server, что делает его пригодным для корпоративных окружений. Аутентификация происходит через GitHub personal access token или browser-based OAuth.
Работа с API
gh позволяет делать произвольные запросы к GitHub API через gh api, что открывает возможности для скриптинга и автоматизации практически любых действий, которые доступны через REST API GitHub.
Установка
macOS
brew install gh
Windows
winget install GitHub.cli
или через MSI-инсталлятор с официального сайта.
Linux
Доступны пакеты для большинства дистрибутивов: Debian/Ubuntu (.deb), Fedora (.rpm), Snap и другие. Подробные инструкции есть в официальной документации.
После установки необходимо авторизоваться:
gh auth login
Кому подходит
GitHub CLI оптимален для разработчиков, которые:
- Работают преимущественно в терминале — если вы проводите большую часть времени в CLI, переключение в браузер для GitHub-операций становится friction’ом
- Автоматизируют workflows — алиасы и API-запросы позволяют строить удобные скрипты
- Maintainers open-source проектов — быстрое управление issues и PR без переключения контекста
- Используют CI/CD — gh легко интегрируется в скрипты и пайплайны
- Хотят бесплатный инструмент — полностью бесплатен, в отличие от некоторых альтернатив
Если вы предпочитаете GUI или редко взаимодействуете с GitHub, CLI может не дать значительного выигрыша. Но для активных пользователей GitHub, особенно в техническом окружении, gh становится незаменимым инструментом.