GitHub
| Тип | платформа хостинга Git-репозиториев и совместной разработки |
|---|---|
| Основатели | Том Престон-Вернер, Крис Ванстрат, Пи Джей Хайетт, Скотт Чакон |
| Запуск | апрель 2008 |
| Владелец | Microsoft (сделка объявлена в июне 2018, 7,5 млрд долларов) |
| Пользователей | более 100 млн (январь 2023) |
| Ключевые сервисы | Pull requests, Issues, Actions, Packages, Pages, Codespaces, Copilot |
| CLI | gh |
| Сайт | github.com |
GitHub — веб-платформа для хранения Git-репозиториев и совместной работы над кодом. Помимо самого хостинга она даёт инструменты, вокруг которых строится процесс разработки: pull request'ы с код-ревью, задачи (Issues), обсуждения, автоматизацию CI/CD через GitHub Actions, реестр пакетов, хостинг статических сайтов и ИИ-ассистента Copilot.[1] GitHub — фактический центр мира открытого ПО: здесь живут Linux (зеркало), Python, Kubernetes, React и миллионы других проектов, а профиль на GitHub часто служит портфолио разработчика.
История
GitHub запустили в апреле 2008 года Том Престон-Вернер, Крис Ванстрат, Пи Джей Хайетт и Скотт Чакон (автор книги «Pro Git»). Сервис сделал Git удобным: веб-интерфейс, форки в один клик и pull request'ы превратили участие в чужом проекте в простую процедуру. В июне 2018 года Microsoft объявила о покупке GitHub за 7,5 млрд долларов;[2] после сделки появились бесплатные приватные репозитории (2019), GitHub Actions (общедоступен с 2019 года), Codespaces и Copilot (2021–2022). В 2023 году GitHub сообщил о 100 миллионах разработчиков.[3] Ежегодный отчёт Octoverse публикует статистику по языкам и активности.[7]
Основные возможности
| Сервис | Назначение |
|---|---|
| Репозитории | публичные и приватные, форки, звёзды, теги и релизы |
| Pull requests | предложение изменений, ревью построчно, проверки перед слиянием |
| Issues и Projects | задачи, метки, вехи, канбан-доски |
| Discussions | форум проекта |
| Actions | CI/CD и автоматизация по событиям репозитория |
| Packages / GHCR | реестр пакетов и образов контейнеров (ghcr.io) |
| Pages | хостинг статических сайтов из репозитория[6] |
| Codespaces | облачная среда разработки в браузере или VS Code |
| Copilot | ИИ-помощник в редакторе, чате и при ревью |
| Безопасность | Dependabot, сканирование кода и утечек секретов |
Файлы README, LICENSE, CONTRIBUTING, CODEOWNERS и каталог .github/ задают оформление проекта, правила участия и ответственных за части кода. README отображается в формате Markdown (диалект GitHub Flavored Markdown).
Защита веток и правила
Для основной ветки настраивают правила защиты (branch protection, в новом виде — rulesets):[4] запрет прямых push, обязательные ревью (в том числе от владельцев кода из CODEOWNERS), успешные проверки CI, линейная история, подписанные коммиты. Это реализует на практике модель работы через pull request'ы (см. Ветвление в Git).
Работа из терминала
Официальная утилита gh повторяет большую часть веб-интерфейса:[5]
gh auth login
gh repo create my-app --private --source=. --push
gh repo clone owner/project
gh pr create --fill
gh pr checkout 123
gh pr view --web
gh issue list --label bug
gh run watch # следить за запуском Actions
gh api repos/{owner}/{repo}/releases # произвольный запрос к REST API
Для доступа по SSH на GitHub добавляют открытый ключ; для HTTPS используются персональные токены (classic или fine-grained) — пароль аккаунта для Git-операций не принимается с 2021 года.
Модель и цены
Публичные и приватные репозитории бесплатны; платные тарифы (Team, Enterprise) добавляют расширенную защиту веток для приватных репозиториев, больше минут Actions, аудит и SSO. GitHub Enterprise Server — версия для установки на собственных серверах.
Альтернативы и критика
Основные конкуренты — GitLab (сильная встроенная CI и возможность самостоятельной установки), Bitbucket, а также свободные Gitea и Forgejo (на нём работает Codeberg). Критика GitHub касается централизации открытого ПО в руках одной корпорации, использования публичного кода для обучения Copilot и рисков блокировок: в 2019 году аккаунты из стран под санкциями США получили ограничения. Поскольку Git распределён, полная копия истории есть у каждого клона, и переезд на другую платформу технически прост — сложнее перенести задачи, обсуждения и автоматизацию.