GIT: Работа в репозитории
GIT-задачи — это задачи, где каждая команда получает собственный Git-репозиторий для разработки проекта. Репозиторий создаётся автоматически как fork шаблона организатора.
Когда используется
- Хакатоны с командной разработкой
- Проектные соревнования
- Задачи с автоматической проверкой через CI/CD
- Задачи с code review
Поддерживаемые провайдеры
Репозитории могут размещаться на:
- GitLab (включая self-hosted)
- GitHub
- SourceCraft
Провайдер выбирается организатором при настройке задачи.
Интерфейс GIT-задачи
На странице задачи отображается блок с состоянием репозитория.
Статусы репозитория
| Статус | Описание |
|---|---|
| Не настроено | Организатор ещё не настроил Git-интеграцию |
| Не готово | Интеграция настраивается |
| Нет команды | Вы не в команде — нужно вступить или создать |
| Создаётся | Репозиторий создаётся, подождите |
| Ожидание | Репозиторий в очереди на обработку |
| Готов | Репозиторий готов к работе |
| Ошибка | Что-то пошло не так (обратитесь к организатору) |
| Архивирован | Конкурс завершён, репозиторий заархивирован |
Когда репозиторий готов
Вы видите:
- Ссылка на репозиторий — кликабельная ссылка, открывает веб-интерфейс репозитория в новой вкладке
- Clone URL — HTTPS-ссылка для клонирования с кнопкой копирования
- История push-ей — сворачиваемый список ваших коммитов
Примечание: При первом переходе по ссылке вы будете добавлены в репозиторий. Если у вас нет аккаунта на Git-провайдере, потребуется его создать.
Как работать с репозиторием
Шаг 1: Клонируйте репозиторий
Скопируйте Clone URL (кнопка копирования рядом) и выполните в терминале:
git clone <скопированный URL>
cd <название-репозитория>
Важно: Доступ по SSH не поддерживается — только HTTPS. При запросе пароля используйте Personal Access Token (PAT), а не пароль от аккаунта. Создать токен можно в настройках Git-провайдера (раздел Access Tokens).
Шаг 2: Разрабатывайте решение
Работайте как обычно — создавайте файлы, пишите код, коммитьте.
git add .
git commit -m "feat: add solution"
Шаг 3: Отправьте решение
git push origin main
После push на странице задачи в разделе «История push-ей» появится запись с:
- Номером push-а
- Именем автора
- Веткой
- Хешем коммита (ссылка на коммит)
- Статусом CI/CD пайплайна (если настроен)
Привязка аккаунта Git-провайдера
В зависимости от провайдера может потребоваться привязка аккаунта:
OAuth (GitHub, SourceCraft)
- На странице задачи нажмите «Подключить аккаунт»
- Вы будете перенаправлены на страницу авторизации провайдера
- Подтвердите доступ
- Вернётесь на платформу с привязанным аккаунтом
SSO (GitLab self-hosted)
- Перейдите по ссылке на Git-провайдер
- Войдите через SSO
- Вернитесь на страницу задачи — доступ будет предоставлен автоматически
SourceCraft (инвайт)
Для SourceCraft может использоваться система инвайтов:
- На странице задачи появится кнопка «Принять приглашение»
- Нажмите — откроется страница SourceCraft
- Примите приглашение в организацию
- Вернитесь на платформу
CI/CD проверка
Если организатор настроил CI/CD пайплайн, ваш код проверяется автоматически при каждом push:
| Статус пайплайна | Значение |
|---|---|
| Успешно | Все проверки пройдены |
| Ошибка | Проверка не пройдена — смотрите логи в репозитории |
| Выполняется | Проверка в процессе |
Результаты видны в истории push-ей и в самом репозитории.
Частые вопросы
В: Репозиторий не создаётся
О: Убедитесь, что вы в команде. GIT-задачи создают репозиторий для команды, не для отдельного участника.
В: Нет доступа к репозиторию
О: Перейдите по ссылке на репозиторий — при первом визите вы будете добавлены автоматически. Если не помогло — обратитесь к организатору.
В: Можно ли работать в ветке, а не в main?
О: Да, можно создавать ветки и использовать Merge Request/Pull Request. Но защита веток (какая ветка для push/merge) настраивается организатором.
В: Куда смотреть баллы?
О: Баллы за GIT-задачу выставляются организатором вручную или через CI/CD. Результат виден на странице трека.
В: Репозиторий заархивирован
О: Конкурс завершён. Архивированный репозиторий доступен для чтения, но push заблокирован.