Экспорт приложения из Google AI Studio в GitHub выполняется во вкладке GitHub в Settings: приложение связывается с новым или существующим репозиторием, изменения уходят push-ем с AI-коммитами, а правки из IDE возвращаются pull-ом. Импорт, экспорт и синхронизация — разные операции с разными входами.
Импорт, экспорт и двусторонняя синхронизация: три разные операции
Смешение этих операций — источник половины путаницы. В документации Google AI Studio они описаны как отдельные сценарии с разными точками входа.
Импорт начинается со стороны AI Studio: в Build mode выбирается «Import from GitHub» из меню «Add files» (иконка «+») в поле ввода промпта. На выходе — существующий код оказывается внутри Build mode, и вы продолжаете работу с ним.
Экспорт начинается со стороны вашего приложения: вы связываете проект с репозиторием и выгружаете код наружу. Точка входа — вкладка GitHub в Settings.
Двусторонняя синхронизация — это режим, в котором обе стороны обмениваются изменениями: push из AI Studio и pull внешних правок. Она появляется только после того, как связь с репозиторием установлена.
| Операция | Точка входа | Что на входе | Что на выходе |
|---|---|---|---|
| Импорт | Build mode → Add files (+) → Import from GitHub | Существующий репозиторий | Код внутри AI Studio |
| Экспорт | Settings → GitHub | Приложение AI Studio | Репозиторий с кодом |
| Синхронизация | Settings → GitHub после связки | Изменения с обеих сторон | Обмен коммитами |
Различие важно на практике: импорт не создаёт репозиторий, экспорт не подтягивает чужие правки, а синхронизация требует уже установленной связи. Официальная страница Build mode описывает все три сценария на ai.google.dev.
Подключение GitHub через OAuth во вкладке GitHub в Settings
Порядок подключения описан в документации Google и в инструкции Hostman. Hostman прямо указывает последовательность: Settings → GitHub → OAuth → Private repo → Stage and commit, после чего предлагает открыть репозиторий и убедиться, что файлы на месте.
Пошагово:
- Откройте приложение в Google AI Studio.
- Перейдите в Settings.
- Откройте вкладку GitHub.
- Пройдите авторизацию OAuth в GitHub — AI Studio запросит доступ к вашему аккаунту.
- Выберите создание нового репозитория или привязку к существующему.
- Если создаёте новый репозиторий, заполните его имя, описание и видимость.
- Подтвердите создание связи.
После этого вкладка GitHub в Settings становится местом управления статусом синхронизации: здесь видно состояние связи и отсюда запускаются операции push и pull.
Инструкция Hostman отмечает, что при создании репозитория выбирается видимость Private. Публичный репозиторий делает код доступным всем. Видимость выбирайте осознанно при создании репозитория.
Настройка репозитория: имя, описание, видимость
При создании нового репозитория из AI Studio заполняются имя, описание и видимость. Перед созданием проверьте эти поля и выбранный аккаунт GitHub.
Имя. Практическое правило — латиница, дефисы вместо пробелов, без заглавных букв и спецсимволов. В форме создания репозитория имя указывается без пробелов. Пример корректного имени: task-tracker-web.
Описание. Служебное поле: одна строка о том, что это за проект. Оно отображается в списке репозиториев и помогает не перепутать проекты, когда их станет несколько.
Видимость. Public или Private. Для учебного проекта с кодом, который вы показываете, подходит Public. Для рабочего кода с бизнес-логикой — Private.
| Поле | Рекомендация | Почему |
|---|---|---|
| Имя | латиница, дефисы, нижний регистр | В форме требуется имя без пробелов. |
| Описание | одна строка о проекте | Различать репозитории в списке |
| Видимость | Private для рабочего кода | Public открывает код всем |
Отдельно проверьте, под каким аккаунтом GitHub вы авторизовались. Связка уходит в тот аккаунт, который прошёл OAuth, и переключение задним числом означает повторную привязку.
Первый push и проверка файлов в репозитории
Первый push — момент, когда код покидает AI Studio. Hostman описывает проверку прямо: откройте репозиторий на GitHub и убедитесь, что все файлы проекта там.
Порядок действий:
- В AI Studio инициируйте коммит изменений — Stage and commit.
- Отправьте изменения в репозиторий.
- Откройте репозиторий на GitHub в браузере.
- Проверьте список файлов: структура должна совпадать с тем, что вы видите в Code tab AI Studio.
- Откройте историю коммитов и убедитесь, что новый коммит появился.
Проверка файлов и проверка коммита — два разных действия. Список файлов показывает, что код на месте. Подтвердите завершение операции по новому коммиту в истории GitHub.
Если файлов нет, а коммит есть — проверьте, в ту ли ветку ушла отправка. Если нет ни того, ни другого — связь с репозиторием не установлена или OAuth-доступ отозван.
Секреты: ключ не выгружается в репозиторий
Ключевая деталь, которую легко упустить: API-ключи не попадают в репозиторий. Документация Zeabur формулирует это прямо — AI Studio не экспортирует ваши секреты в GitHub по соображениям безопасности.
В Google AI Studio секреты хранятся в панели Secrets в Settings. Для веб-приложения с Gemini API ключ GEMINI_API_KEY настраивается автоматически, ручная конфигурация для старта не требуется. Ключи попадают в серверный runtime и не включаются в клиентский код.
Документация по API-ключам Google формулирует правила безопасности: ключи хранятся в тайне, никогда не коммитятся в системы контроля версий вроде Git, не хардкодятся в веб- и мобильных приложениях. Рекомендуемый способ — читать ключи из переменных окружения, а для продакшена использовать защищённое хранилище секретов.
Практический вывод для экспорта: после первого push отдельно проверьте, что в репозитории нет файлов с ключами. Проверка секретов — третье независимое действие после проверки файлов и коммита.
При запуске приложения вне AI Studio, например из ZIP-архива, переменную GEMINI_API_KEY нужно настроить в окружении хостинга самостоятельно. Поскольку вызовы Gemini API идут из серверного кода, ключ не раскрывается конечным пользователям.
Двусторонняя синхронизация: push с AI-коммитами и pull правок
После связки с репозиторием AI Studio поддерживает двустороннюю синхронизацию. Документация Google описывает её так: изменения, запрошенные в AI Studio, отправляются в репозиторий напрямую с AI-сгенерированными сообщениями коммитов, а изменения, сделанные извне — в локальной IDE или через pull request коллеги, — подтягиваются обратно в AI Studio.
Это значит, что рабочий цикл выглядит так:
- Push. Вы правите приложение промптом в Build mode, AI Studio формирует коммит с автоматическим сообщением и отправляет его в репозиторий.
- Pull. Вы или коллега правите код локально, коммитите и отправляете в GitHub, после чего во вкладке GitHub в Settings запускается pull, и правки появляются в AI Studio.
Документация Google отдельно отвечает на вопрос о совместной работе: прямой одновременный редактор в AI Studio не поддерживается, но команда работает через общий репозиторий GitHub — коллеги отправляют изменения или открывают pull request, а вы подтягиваете их в AI Studio.
Проверка после pull: сверьте изменённый файл в GitHub и в Code tab AI Studio. Совпадение содержимого — подтверждение, что синхронизация прошла.
Разрешение конфликтов через диалог с side-by-side diff
Конфликт возникает, когда изменения с двух сторон затрагивают один и тот же файл. Документация Google описывает механику: при конфликте AI Studio показывает диалог «Resolve conflicts» с просмотром различий side-by-side, где для каждого конфликтного файла выбирается, какую версию оставить — из AI Studio или из GitHub.
Порядок работы с конфликтом:
- Запустите синхронизацию и дождитесь появления диалога разрешения конфликтов.
- Откройте side-by-side diff — две версии файла рядом.
- Просмотрите различия по каждому конфликтному файлу.
- Для каждого файла выберите версию: из AI Studio или из GitHub.
- Подтвердите разрешение и завершите синхронизацию.
Проверьте каждый файл отдельно, прежде чем включать его в синхронизацию. Это позволяет сохранить AI-версию одного файла и внешнюю версию другого.
Практика, снижающая частоту конфликтов: не держите долгоживущие правки на обеих сторонах. Если правите локально — синхронизируйте до того, как начнёте менять тот же файл промптом в AI Studio.
Когда выбирать ZIP вместо GitHub
ZIP — автономная копия проекта. Документация Google описывает экспорт как скачивание сгенерированного кода ZIP-архивом и импорт его в редактор кода.
| Критерий | GitHub | ZIP |
|---|---|---|
| Синхронизация изменений | Двусторонняя | Отсутствует |
| Совместная работа | Через общий репозиторий | Нет |
| История коммитов | Есть | Нет |
| Настройка секретов | В AI Studio | В окружении хостинга вручную |
| Android-проекты | Недоступен | Доступен |
ZIP уместен в трёх случаях: нужна разовая копия кода без дальнейшей связи с AI Studio; вы переносите проект в среду, где подключение к GitHub не требуется; вы работаете с Android-проектом.
При запуске из ZIP переменную GEMINI_API_KEY нужно задать в окружении хостинга. Синхронизацию ZIP сам не создаёт: скачанный архив — снимок на момент выгрузки.
Android-проекты: экспорт в GitHub недоступен, только ZIP
Для нативных Android-приложений маршрут отличается. Документация Google указывает ограничение экспорта прямо: доступно только скачивание ZIP, экспорт в GitHub для Android-проектов пока не предусмотрен.
Это значит, что вся цепочка синхронизации, описанная выше, относится к веб-приложениям. Для Android-проекта рабочий путь один: скачать ZIP и продолжить разработку в Android Studio.
Различие глубже, чем формат экспорта. Android-приложения в AI Studio существуют только на клиентской стороне: функции, требующие серверного runtime — управление секретами, multiplayer, Google Workspace API, — доступны для веб-приложений. Вместо сырого API-ключа Android-приложения используют Firebase AI Logic и Firebase App Check, поэтому учётные данные не встраиваются в APK.
| Признак | Веб-приложение | Android-приложение |
|---|---|---|
| Экспорт в GitHub | Есть | Только ZIP |
| Серверный runtime | Есть | Отсутствует |
| Управление секретами | Панель Secrets | Firebase AI Logic и App Check |
| Продолжение работы | IDE, CLI, AI Studio | Android Studio из ZIP |
Если задача — синхронизировать код с командой через GitHub, выбирайте веб-маршрут. Если собираете нативное Android-приложение, планируйте скачивание ZIP.
Частые вопросы
Как экспортировать приложение из Google AI Studio в GitHub?
Откройте Settings, перейдите во вкладку GitHub и пройдите авторизацию OAuth. Создайте новый репозиторий или привяжите существующий, заполнив имя, описание и видимость. После установки связи отправьте изменения коммитом и проверьте файлы в репозитории на GitHub.
Попадут ли мои API-ключи в репозиторий при экспорте?
Нет. Документация Zeabur указывает, что AI Studio не экспортирует секреты в GitHub по соображениям безопасности. Ключи хранятся в панели Secrets в Settings и попадают в серверный runtime. Документация Google по API-ключам запрещает коммитить ключи в Git и рекомендует переменные окружения.
Как работает двусторонняя синхронизация с GitHub?
Изменения, запрошенные в AI Studio, отправляются в репозиторий с AI-сгенерированными сообщениями коммитов. Правки, сделанные локально или коллегой, подтягиваются обратно через pull во вкладке GitHub в Settings. Статус синхронизации виден там же.
Что делать при конфликте изменений?
AI Studio показывает диалог разрешения конфликтов с просмотром различий side-by-side. Для каждого конфликтного файла выбирается версия — из AI Studio или из GitHub. Решение принимается пофайлово, после чего синхронизация завершается.
Можно ли экспортировать Android-проект в GitHub?
Для Android-проектов доступно только скачивание ZIP-архивом, экспорт в GitHub не предусмотрен. Проект скачивается и открывается в Android Studio. Функции, требующие серверного runtime, для Android-приложений недоступны.
