> ## Documentation Index
> Fetch the complete documentation index at: https://poehali.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Интеграция с GitHub

> Как подключить проект к GitHub для управления версиями

## Что такое GitHub

GitHub — платформа для хранения кода и работы с ним. Здесь можно отслеживать изменения, вести историю разработки и работать в команде. GitHub использует систему Git, которая сохраняет все изменения в коде и позволяет вернуться к любой версии.

<Note>
  GitHub особенно полезен для командной работы и долгосрочных проектов.
</Note>

## Зачем нужна интеграция с GitHub

Подключение проекта к GitHub дает важные преимущества:

* **История изменений** — сохраняются все версии проекта
* **Командная работа** — несколько человек могут работать над проектом одновременно
* **Профессиональный процесс** — доступ к ветвлению, слиянию и проверке кода
* **Автоматизация** — возможность настроить CI/CD для автоматической публикации

## Как подключить GitHub

<Steps>
  <Step title="Подключение к GitHub">
    В редакторе poehali.dev нажмите **Скачать → Подключить GitHub**.

    <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-1.png" alt="Подключение GitHub в светлой теме" />

    <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-1.png" alt="Поключение GitHub в темной теме" />
  </Step>

  <Step title="Авторизация через GitHub">
    Войдите в аккаунт GitHub. Выберите **Все репозитории** или конкретные при запросе прав доступа.

    <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-2.png" alt="Выбор акканта на GitHub в светлой теме" />

    <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-2.png" alt="Выбор акканта на GitHub в темной теме" />
  </Step>

  <Step title="Выбор аккаунта">
    Укажите личный аккаунт или организацию для интеграции. Можно подключить только один аккаунт GitHub одновременно.

    <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-3.png" alt="Интеграция в светлой теме" />

    <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-3.png" alt="Интеграция в темной теме" />
  </Step>

  <Step title="Создание репозитория">
    Вернитесь к проекту. Нажмите **Скачать → выберите аккаунт**. Код автоматически отправится в новый репозиторий.

    <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-4.png" alt="Создание репозитория в светлой теме" />

    <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-4.png" alt="Создание репозитория в темной теме" />
  </Step>

  <Step title="Проверка связи">
    Зайдите на GitHub. Там появится репозиторий с вашим проектом. В poehali.dev отобразится название репозитория.

    <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-5.png" alt="Создание репозитория в светлой теме" />

    <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/github-step-5.png" alt="Создание репозитория в темной теме" />
  </Step>
</Steps>

<Note>
  Каждый проект привязывается к отдельному репозиторию. Для нескольких проектов повторите процесс.
</Note>

## Работа с GitHub

<AccordionGroup>
  <Accordion title="История изменений">
    С GitHub вы получаете полную историю проекта:

    * Изменения сохраняются как коммиты
    * Каждый коммит содержит данные об изменениях, авторе и времени
    * Можно просматривать всю историю проекта

    <Note>
      Коммит — сохраненное состояние проекта в определенный момент времени.
    </Note>
  </Accordion>

  <Accordion title="Ветки">
    Ветки помогают разрабатывать функции параллельно:

    * Создавайте ветки для отдельных функций
    * Переключайтесь между задачами
    * Объединяйте ветки, когда функция готова
  </Accordion>

  <Accordion title="Совместная работа">
    GitHub упрощает командную работу:

    * Дает доступ к проекту другим разработчикам
    * Позволяет проверять изменения через pull-запросы
    * Помогает отслеживать задачи через Issues

    <Note>
      Pull-запрос — способ предложить и обсудить изменения перед их внедрением.
    </Note>
  </Accordion>
</AccordionGroup>

## Советы

* **Делайте частые коммиты** — сохраняйте каждое логическое изменение
* **Пишите понятные комментарии** — это поможет найти нужные изменения
* **Используйте ветки** — разрабатывайте новые функции отдельно
* **Защищайте важные ветки** — предотвращайте случайные изменения main-ветки
* **Регулярно обновляйтесь** — всегда работайте с актуальным кодом

<Note>
  Даже для одиночной работы навыки Git пригодятся при росте проекта.
</Note>
