Codenrock
УчастникСредний7 мин

GIT: Работа в репозитории

Как работать с GIT-задачами — репозиторий команды, клонирование, push и история

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