Документация по работе с GitHub
Этот документ описывает базовый рабочий процесс в репозитории Gifty: получение доступа, настройка локальной среды, правила ветвления и pull‑request.
Получение доступа
Доступ к репозиторию можно получить:
- через запрос в телеграм‑боте,
- либо через добавление вашим ментором.
После получения доступа проверьте, что у вас есть права на чтение и запись в репозиторий.
Настройка локальной среды
- Установите Git.
- Настройте авторство:
- Клонируйте репозиторий:
Если SSH недоступен, используйте HTTPS‑URL.
Структура веток
В проекте Gifty используется модель ветвления, основанная на Git Flow:
| Ветка | Цель | Стабильность |
|---|---|---|
main |
Production-код. Содержит только релизные версии. | Locked |
develop |
Основная ветка разработки. Сюда вливаются все фичи. | Стабильная |
feature/* |
Разработка новых фич (например, feature/ai-scoring). |
Экспериментальная |
research/* |
Исследования, ML эксперименты, ноутбуки. | Экспериментальная |
hotfix/* |
Срочные фиксы для продакшена. | Стабильная |
docs/* |
Изменения в документации. | Стабильная |
Рабочий стандарт (Git Flow)
1. Начало работы
Все новые задачи начинаются от ветки develop:
2. Правила коммитов
- Используйте понятные сообщения на английском или русском языке.
- Старайтесь делать атомарные коммиты (одна логическая правка = один коммит).
- Никогда не коммитьте файлы
.env, секреты и приватные ключи.
3. Pull Request (PR)
- PR всегда создается в ветку
develop(кроме хотфиксов). - В описании PR обязательно укажите ссылку на задачу в Weeek (если есть).
- После открытия PR запустится автоматическая проверка (GitHub Actions). Убедитесь, что тесты прошли (зеленая галочка).
4. Code Review
- Дождитесь одобрения (Approve) хотя бы от одного коллеги или ментора.
- После апрува используйте Rebase and Merge или обычный Merge, если иное не оговорено ментором.
5. Релизы (Main)
Вливание из develop в main происходит только при релизе новой версии и сопровождается созданием тега:
Синхронизация
Если вы долго работаете над задачей, ваша ветка может устареть. Регулярно подтягивайте свежий develop:
git fetch origin
git merge origin/develop
# или git rebase origin/develop, если вы уверены в своих силах
Безопасность
Если вы случайно закоммитили секрет:
- Немедленно сообщите ментору.
- Смените скомпрометированный пароль/ключ.
- Не пытайтесь просто "удалить" его в следующем коммите — он останется в истории Git.