Гид по технологиям

Автоматизация создания репозиториев GitHub с помощью gh (CLI)

• 4 min read • Разработка • Обновлено 18 Nov 2025
Автоматизация создания репозиториев GitHub через gh
Автоматизация создания репозиториев GitHub через gh

Логотип GitHub

Быстрые ссылки

  • Зачем автоматизировать GitHub?

  • Использование GitHub CLI

Создание новых репозиториев — стандартная часть рабочего процесса многих разработчиков и команд. Автоматизировать этот шаг удобно с помощью официального CLI-инструмента GitHub — gh. Он позволяет создавать и управлять репозиториями прямо из командной строки, что легко интегрируется в скрипты и автоматизации.

Зачем автоматизировать GitHub?

Ручное создание репозитория через веб-интерфейс и последующее связывание с локальным репо через

git

и команды

git init

или

git remote add

работает, но часто подразумевает переключение контекста: вы прерываете поток работы, открываете браузер, нажимаете кнопки и копируете ссылки. Если это вас устраивает — используйте привычный путь. Но для тех, кто делает это часто или хочет встроить создание репо в шаблоны/CI/CD, gh экономит время и делает процесс повторяемым.

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

Использование GitHub CLI

Скриншот установки GitHub CLI

Первый шаг — установить gh и связать его с аккаунтом GitHub. Инструкции и релизы находятся в репозитории GitHub CLI. Инсталляторы доступны для большинства менеджеров пакетов.

Инструмент доступен через распространённые пакетные менеджеры, включая winget на Windows. На Windows можно использовать MSI-инсталлятор. Для WSL или Linux показан пример через APT:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0
sudo apt-add-repository https://cli.github.com/packages
sudo apt update
sudo apt install gh

Система может попросить довериться ключу репозитория.

Далее выполните вход:

gh auth login

Команда предложит варианты аутентификации: через OAuth в браузере или вставкой персонального токена (PAT) из настроек аккаунта. OAuth обычно проще — нужно нажать кнопку для открытия браузера и подтвердить доступ. Если браузер не открылся автоматически, скопируйте ссылку вручную и введите показанный в терминале 8-значный код.

Авторизация gh через браузер: пример кода и кнопки

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

gh repo create test --private

Команда создаст репозиторий и предложит варианты инициализации (README, .gitignore, лицензия) в зависимости от версии gh и флагов.

Новый репозиторий в веб-интерфейсе GitHub

Полезные подкоманды gh repo

  • gh repo edit — изменить конфигурацию репозитория: ветку по умолчанию, описание, домашнюю страницу, включение Issues/Wiki/Projects.
  • gh repo fork — форкнуть репозиторий и клонировать копию в ваш аккаунт (похоже на git clone, но создает форк).
  • gh repo list — вывести список ваших репозиториев.
  • gh repo rename — изменить имя репозитория и URL.

Ключевое преимущество — эти команды легко включить в скрипты и шаблоны проектов.

Практическая методика: как включить создание репо в ваш стартовый скрипт

  1. Установите gh и выполните gh auth login (однократно для машины/CI).
  2. Решите стандартную структуру репо: имя, приватность, шаблон (.github, CI, .gitignore, лицензия).
  3. Создайте команду-обёртку или Make/Taskfile, например:
# Пример простого скрипта (bash)
REPO_NAME="$1"
PRIVATE_FLAG="--private"

gh repo create "$REPO_NAME" $PRIVATE_FLAG --description "Новый проект"
# опционально: инициализация локально
git init
git remote add origin "git@github.com:username/$REPO_NAME.git"
  1. При необходимости добавьте создание начальных файлов и пуш в main/master.

Чек-лист по ролям

Разработчик:

  • Установить gh и пройти gh auth login.
  • Создать репо с нужными флагами и шаблонами.
  • Добавить удалённый URL и запушить начальную ветку.

Тимлид/администратор:

  • Решить политику приватности и шаблоны.
  • Добавить обязательные файлы (CODEOWNERS, SECURITY, CONTRIBUTING).
  • Настроить branch protection в gh repo edit или через веб.

CI-инженер:

  • Добавить gh в образ/агента CI и использовать PAT с минимальными правами.
  • Хранить токены в секретах (GitHub Secrets, Vault).

Альтернативные подходы

  • Веб-интерфейс GitHub: удобен для одноразовых действий и визуальной настройки.
  • GitHub API (REST/GraphQL): гибче для сложных интеграций и массовых операций.
  • Скрипты с curl и PAT: полезно, если gh недоступен, но требует больше ручной работы.

Когда gh не подходит: в средах без возможности установить бинарь или там, где нужен строгий audit через API — лучше использовать REST/GraphQL.

Модель принятия решений (когда использовать gh)

  • Повторяемость и быстрое создание — используйте gh.
  • Требуется полный контроль над запросами и логированием — используйте API.
  • Одноразовая настройка с визуальной проверкой — воспользуйтесь веб-интерфейсом.
flowchart TD
  A[Нужно создать репозиторий?] --> B{Создание повторяемое?}
  B -- Да --> C[Использовать gh в скрипте]
  B -- Нет --> D{Нужна визуальная настройка?}
  D -- Да --> E[Веб-интерфейс GitHub]
  D -- Нет --> F[Использовать API или ручное создание]

Безопасность и хранение токенов

Важно: не храните персональные токены в открытом виде. Для CI используйте секреты платформы (GitHub Actions Secrets, GitLab CI variables, HashiCorp Vault). Токен должен иметь минимальные права, достаточные для выполняемой задачи.

Критерии приёмки

  • Репозиторий создан с нужным именем и уровнем приватности.
  • Набор обязательных файлов добавлен (.gitignore, LICENSE, README).
  • Удалённый URL корректно прописан в локальном репозитории.
  • Права и защита веток настроены в соответствии с политикой команды.

Примеры отказа и подводные камни

  • Ошибка аутентификации: неверный PAT или просроченный OAuth-код.
  • Отсутствие прав в организации: gh не сможет создать репозиторий в org без соответствующих прав.
  • В CI нужно убедиться, что gh установлен и PAT доступен как секрет.

Важно: если gh обновился, синтаксис некоторых команд может меняться — проверяйте gh help и релизы.

Краткое резюме

Использование GitHub CLI ускоряет создание и настройку репозиториев, делает процесс воспроизводимым и удобным для интеграции в скрипты и CI. Для простых и разовых действий подойдёт веб-интерфейс. Если требуется гибкость и масштабирование — рассмотрите API. Всегда храните токены безопасно и давайте минимально необходимые права.

Важно: перед массовым применением протестируйте сценарии в тестовом аккаунте или организации.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро