Подключения

Синхронизация с GitHub

Подключайте свой репозиторий, учитывайте безопасное обновление истории и устраняйте расхождения без потери локальной работы.

Перед подключением

Синхронизация связывает проект с вашим репозиторием GitHub. Для неё нужна соответствующая функция тарифа владельца проекта. Если функция недоступна, существующее подключение можно просмотреть и удалить, но новое подключение и синхронизация блокируются. Это ограничение не мешает агенту изменять проект и сохранять локальные версии файлов.

Выберите репозиторий GitHub без ветки main и скопируйте полный HTTPS-адрес. Другие ветки, файлы и коммиты допустимы. Amazi создаст main самостоятельно с историей вашего проекта; сам репозиторий вы создаёте или выбираете заранее.

Если main уже существует, перед удалением сохраните нужную работу в другой ветке. GitHub требует назначить другую ветку основной, прежде чем удалить основную main; защита ветки также может запрещать удаление. Можно выбрать другой репозиторий. Для восстановления доступа к уже подключённому репозиторию нажмите «Обновить подключение» и сохраните main.

Подключение проекта

  1. Откройте диалог подключения GitHub в проекте.
  2. Введите HTTPS-адрес репозитория.
  3. Пройдите авторизацию и установку GitHub для нужного репозитория.
  4. Вернитесь в Amazi и проверьте состояние подключения.

При первом подключении Amazi создаёт main и синхронизирует эту ветку. Другие ветки сохраняются. Основная ветка GitHub может называться иначе; после подключения можно назначить новую main основной в настройках GitHub.

Не отправляйте токен GitHub в чат для исправления авторизации. Используйте процесс подключения и проверьте доступ установленного приложения к выбранному репозиторию.

Если подключение не удалось, Amazi показывает причину и способ исправления. Существующая main препятствует новому подключению, даже если её последний коммит совпадает с проектом. Уведомление остаётся видимым, пока вы его не закроете.

Обновление существующего подключения

Нажмите «Обновить подключение» в диалоге GitHub, если доступ перестал работать, в том числе после переустановки GitHub App. Пройдите авторизацию повторно и разрешите приложению доступ к подключённому репозиторию. Amazi проверит, что это тот же репозиторий, в том числе после переименования, и обновит подключение.

Затем Amazi повторит синхронизацию: входящие изменения принимаются через fast-forward, а локальные коммиты отправляются, если история допускает обычный push. Если истории разошлись или синхронизация не удалась, восстановленное подключение сохраняется, а ошибка синхронизации остаётся видимой. Откройте диалог GitHub, чтобы изучить её. Для обновления доступа не нужно удалять main или очищать историю репозитория.

Как работает синхронизация

Перед задачей Amazi проверяет удалённую main и принимает историю, только если возможно прямое продвижение без объединения расходящихся изменений. После создания версии выполняется обычная отправка. Внешние коммиты также могут запускать синхронизацию; активная задача может быть прервана до изменения локальных файлов.

Amazi не выполняет автоматически принудительную отправку, rebase конфликтующей истории или удаление локальных файлов ради успешной синхронизации.

Если история разошлась

Ошибка синхронизации и результат работы агента — разные состояния. Локальная работа и сохранение версии могут завершиться успешно, даже если подключение GitHub сообщает об ошибке.

Прочитайте ошибку и сравните локальную и удалённую историю, прежде чем выбирать восстановление. Если непонятно, какие изменения сохранять, сначала попросите диагностику. Осознанно устраните расхождение или подключите другой репозиторий без main; не повторяйте разрушительные Git-команды ради исчезновения ошибки.

Отключение и резервные копии

Отключение удаляет связь в Amazi, а не репозиторий GitHub. Удаление проекта Amazi также не означает разрешения удалить этот репозиторий.

GitHub хранит версионируемые файлы, но не резервирует строки базы, объекты и состояние внешних сервисов. Перед использованием синхронизации как способа восстановления прочитайте Историю и восстановление и Базу данных и хранилище.