Подключения
Синхронизация с GitHub
Подключайте свой репозиторий, учитывайте безопасное обновление истории и устраняйте расхождения без потери локальной работы.
Перед подключением
Синхронизация связывает проект с вашим репозиторием GitHub. Для неё нужна соответствующая функция тарифа владельца проекта. Если функция недоступна, существующее подключение можно просмотреть и удалить, но новое подключение и синхронизация блокируются. Это ограничение не мешает агенту изменять проект и сохранять локальные версии файлов.
Выберите репозиторий GitHub без ветки main и скопируйте полный HTTPS-адрес. Другие ветки, файлы и коммиты допустимы. Amazi создаст main самостоятельно с историей вашего проекта; сам репозиторий вы создаёте или выбираете заранее.
Если main уже существует, перед удалением сохраните нужную работу в другой ветке. GitHub требует назначить другую ветку основной, прежде чем удалить основную main; защита ветки также может запрещать удаление. Можно выбрать другой репозиторий. Для восстановления доступа к уже подключённому репозиторию нажмите «Обновить подключение» и сохраните main.
Подключение проекта
- Откройте диалог подключения GitHub в проекте.
- Введите HTTPS-адрес репозитория.
- Пройдите авторизацию и установку GitHub для нужного репозитория.
- Вернитесь в 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 хранит версионируемые файлы, но не резервирует строки базы, объекты и состояние внешних сервисов. Перед использованием синхронизации как способа восстановления прочитайте Историю и восстановление и Базу данных и хранилище.