GitHub
Крупнейший хостинг Git-репозиториев с pull request'ами, встроенным CI (GitHub Actions) и AI-ассистентом Copilot.
Что такое GitHub
GitHub (гитхаб) — веб-платформа для хостинга Git-репозиториев. Git работает локально и умеет обмениваться коммитами с удалёнными копиями; GitHub предоставляет такую копию в облаке плюс всё, чего в самом Git нет: веб-интерфейс, обсуждение кода, задачи, CI, права доступа.
Важно не путать: Git — это система контроля версий, GitHub — сервис, который её хостит. Git можно использовать без GitHub, GitHub без Git — нет.
Основан в 2008 году, с 2018 принадлежит Microsoft. Крупнейшая площадка open source: большинство публичных проектов живёт именно там.
Что даёт GitHub поверх Git
- Remote-репозиторий — общая точка синхронизации для команды.
- Pull request (PR) — предложение влить ветку с обсуждением, дифом и code review. Центральный рабочий объект GitHub.
- Issues — задачи и баги, связываемые с коммитами и PR.
- Actions — встроенный CI/CD.
- Packages / Container registry — хранилище образов
ghcr.io. - Branch protection — запрет push в
mainмимо PR и «красных» тестов.
Что такое GitHub Actions
GitHub Actions — встроенный сервис CI/CD. Pipeline описывается YAML-файлом в .github/workflows/, запускается по событию (push, PR, cron, ручной триггер) и выполняется на runner'е — виртуальной машине GitHub или своей.
name: ci
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install -r requirements.txt
- run: pytest -q
build:
needs: test
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- run: |
docker build -t ghcr.io/${{ github.repository }}:${{ github.sha }} .
docker push ghcr.io/${{ github.repository }}:${{ github.sha }}
Главное отличие от конкурентов — marketplace готовых actions (actions/checkout, docker/build-push-action и тысячи других) вместо написания шагов с нуля.
Self-hosted runner
Стандартные runner'ы GitHub не дают GPU и ограничены по времени job. Для сборки CUDA-образов или тестов инференса подключают свой runner на GPU-инстансе:
# на своём сервере
./config.sh --url https://github.com/ORG/REPO --token <TOKEN> --labels gpu
./run.sh
jobs:
bench:
runs-on: [self-hosted, gpu]
Что такое GitHub Copilot
GitHub Copilot — платный AI-ассистент: дополняет код прямо в IDE, отвечает на вопросы по репозиторию, предлагает правки в PR. Работает на LLM, обученных в том числе на публичном коде. Это отдельная подписка, к самому Git и хостингу отношения не имеет.
GitHub vs GitLab vs Bitbucket
| GitHub | GitLab | Bitbucket | |
|---|---|---|---|
| Публичный open source | Крупнейшая площадка | Есть | Редко |
| CI | Actions + marketplace | GitLab CI, зрелый | Pipelines, простой |
| Self-hosted | GitHub Enterprise Server (платно) | Community Edition (бесплатно) | Data Center (платно) |
| Экосистема | Максимальная | Всё в одном продукте | Связка с Jira |
Связанные термины
- Git — система контроля версий, которую хостит GitHub
- Git-репозиторий — то, что вы там храните
- GitLab — основной конкурент с self-hosted-версией
- CI/CD — практика, которую реализуют Actions
- Code review — то, ради чего существуют pull request'ы
- Open Source — среда, в которой вырос GitHub
Готовы запустить GPU-задачу?
Запустить GPU-сервер