Сохраните проект на GitHub
КраткоПодключите GitHub одним нажатием через GitHub App от MonstarX (токен не нужен — репозитории вы выбираете сами), затем нажмите GitHub на верхней панели проекта, чтобы создать новый репозиторий или связать существующий. MonstarX отправляет туда весь проект, затем коммитит каждое своё изменение и забирает то, что вы закоммитили на GitHub. Импортированные приложения синхронизируются с веткой monstarx, так что ваша собственная ветка никогда не сдвигается.
GitHub — это место, где разработчики хранят код вместе с историей всех изменений. Свяжите проект MonstarX с репозиторием GitHub (папкой проекта на GitHub), и они будут синхронизироваться в обе стороны: всё, что создаёт MonstarX, попадает туда коммитами, а то, что коммитите вы или разработчик, возвращается в MonstarX.
Это удобно, если разработчик хочет работать с кодом в своём редакторе, если в вашей компании весь код хранится на GitHub или если вы разворачиваете приложение из GitHub — так делает, например, Railway.
Как подключить аккаунт GitHub?
Заголовок раздела «Как подключить аккаунт GitHub?»GitHub подключается один раз для всего аккаунта MonstarX — в разделе НастройкиИнтеграции или через кнопку GitHub в любом проекте. Проще всего через GitHub App от MonstarX: не нужно создавать и вставлять токен, и вы сами решаете, к каким именно репозиториям у MonstarX будет доступ.
-
Нажмите Подключить личный аккаунт GitHub.
-
Откроется GitHub и спросит, куда установить приложение. Выберите свой личный аккаунт (не организацию).
-
Выберите, какими репозиториями может пользоваться MonstarX: All repositories (все) или Only select repositories (только выбранные) — и отметьте нужные. Позже это можно изменить на GitHub.
-
Нажмите Install, а затем Authorize, когда GitHub попросит подтвердить.
-
Вы вернётесь в MonstarX. На карточке будет написано Подключено · GitHub App.
Что важно знать о GitHub App:
- Одобрение организации не нужно. Приложение устанавливается только в личный аккаунт. Если вы по ошибке выберете организацию, MonstarX попросит установить его в личный аккаунт и попробовать ещё раз.
- Новые репозитории создаются в вашем личном аккаунте. К репозиторию, который создал MonstarX, у него всегда есть доступ, даже если вы выбрали Only select repositories.
- Доступ ограничен выбранными репозиториями. Связать можно только тот существующий репозиторий, к которому вы дали приложению доступ. Добавить другие можно в настройках установленных приложений на GitHub.
- Доступ выдаётся ненадолго и продлевается автоматически, а хранится в зашифрованном виде. В ваш браузер он никогда не передаётся.
Другие способы подключения
Заголовок раздела «Другие способы подключения»Если удобнее, есть ещё два способа:
| Способ | Когда подходит |
|---|---|
| Личный репозиторий с ограниченным доступом (в настройках: Подключить личный репозиторий с ограниченным доступом) | Вы хотите дать MonstarX доступ ровно к одному репозиторию с помощью токена личного доступа (personal access token — пароля, который вы создаёте на GitHub для одной задачи). Создайте токен типа fine-grained, где владелец ресурса — ваш личный аккаунт, доступ только к этому репозиторию и разрешение Contents: read and write. Репозиторий сначала создайте на GitHub: такой токен не может создавать новые. |
| Использовать авторизацию GitHub | Вы хотите отправлять код в репозитории организаций, в которых состоите. Обычный экран входа GitHub может включать доступ к этим организациям, поэтому проверьте его, прежде чем разрешать. |
После подключения карточка показывает способ (GitHub App, Выполнен вход с помощью GitHub или Токен личного доступа) и перечисляет все репозитории, которые MonstarX поддерживает в актуальном состоянии: когда каждый синхронизировался в последний раз и в каком режиме: Автоматический или Вручную. Если позже подключиться другим способом, он заменит старое подключение; связанные репозитории останутся связанными.
Как сохранить проект на GitHub?
Заголовок раздела «Как сохранить проект на GitHub?»-
Откройте проект и нажмите GitHub на верхней панели. (Эта функция есть и в разделе проекта НастройкиЭкспорт, в блоке Хранить в GitHub.)
-
Если аккаунт ещё не подключён, подключите его прямо здесь.
-
Выберите Новый репозиторий или Существующий репозиторий:
- Новый репозиторий — выберите владельца в поле Владелец (вы или одна из ваших организаций), введите Имя репозитория, оставьте отмеченным Закрытый репозиторий, если не хотите, чтобы код видели все, и нажмите Создать репозиторий и отправить код.
- Существующий репозиторий — введите
owner/repositoryили вставьте адрес на github.com, при желании укажите ветку в поле Ветка (если пусто — ветка по умолчанию) и нажмите Связать и синхронизировать. У вашего аккаунта должно быть право отправлять в этот репозиторий изменения.
-
MonstarX отправит весь проект в виде репозитория, готового к развёртыванию. Когда синхронизация в порядке, на кнопке GitHub горит зелёная точка.
Новый репозиторий начинается с одного коммита — «Initial commit from MonstarX». В существующем репозитории проект коммитится поверх ветки, а файлы, которыми MonstarX не управляет, — LICENSE, рабочие процессы CI, документация, — никогда не затрагиваются.
Что попадает в репозиторий?
Заголовок раздела «Что попадает в репозиторий?»Всё, что даёт экспорт: код приложения, файлы фреймворка MonstarX, конфигурация для запуска и развёртывания, миграции базы данных, список имён секретов, которые нужны приложению (без значений), и README.
Кое-что на GitHub никогда не попадает:
- Значения секретов, а также строки базы данных и загруженные файлы приложения остаются в MonstarX.
- Строки, импортированные из таблицы, никогда не отправляются: репозиторий может быть публичным, а это данные ваших клиентов.
- Двоичные файлы и файлы больше 1 МБ пропускаются и перечисляются в журнале синхронизации.
Когда MonstarX синхронизирует проект?
Заголовок раздела «Когда MonstarX синхронизирует проект?»Пока включено Отправлять каждое изменение автоматически (по умолчанию так и есть), MonstarX синхронизирует проект:
- после каждого запроса, который изменил файлы приложения, — сообщением коммита становится ваш запрос;
- после автоисправления по итогам QA;
- после восстановления версии;
- после сохранения или удаления файла на вкладке Код.
Кнопка Синхронизировать сейчас в меню GitHub отправляет и забирает изменения в любой момент. Если хотите синхронизировать вручную, выключите автоматическую отправку.
Что происходит, если кто-то правит код на GitHub?
Заголовок раздела «Что происходит, если кто-то правит код на GitHub?»Коммитьте на GitHub как обычно. При следующей синхронизации MonstarX заберёт изменения в проект:
- Изменения собственных файлов приложения (
src/,public/,migrations/иREADME.md) попадают в MonstarX. Предпросмотр обновляется, новые миграции базы данных выполняются, а в меню Версии появляется версия с названием Из GitHub: и темой коммита. - Карточка в чате, например «Получено из GitHub: 3 файла», перечисляет файлы, чтобы и вы, и конструктор MonstarX знали, что изменилось.
- Изменения файлов фреймворка MonstarX, например
package.jsonили конфигурации, остаются на GitHub, пока MonstarX сам в следующий раз не изменит этот файл. - Если один и тот же файл изменился с обеих сторон, MonstarX оставляет свою версию, а ваша сохраняется в истории GitHub. Карточка отмечает такой файл: «изменено с обеих сторон — сохранена версия MonstarX».
Что показывает меню GitHub после связывания?
Заголовок раздела «Что показывает меню GitHub после связывания?»- Репозиторий, его ветку и тип — Закрытый или Открытый.
- Когда была последняя синхронизация (Синхронизировано несколько минут назад) или Последняя синхронизация не удалась с причиной.
- Синхронизировать сейчас и Открыть репозиторий.
- Отправлять каждое изменение автоматически.
- Недавние синхронизации — последние пять, у каждой свой коммит.
- Отсоединить репозиторий — синхронизация прекращается. Репозиторий остаётся на GitHub.
- Отключить — отключает ваш аккаунт GitHub. Пока вы не подключитесь снова, ничего отправляться не будет.
А что с приложением, импортированным из GitHub?
Заголовок раздела «А что с приложением, импортированным из GitHub?»Когда вы импортируете приложение из репозитория, в который у вас есть право отправлять изменения, проект остаётся с ним связан — в новой ветке monstarx, начатой от импортированного коммита. Ваша собственная ветка никогда не сдвигается. Когда изменения MonstarX вас устроят, кнопка Открыть пул-реквест в меню GitHub перенесёт вас на GitHub, чтобы их слить.
Вопросы и ответы
Заголовок раздела «Вопросы и ответы»Нужен ли токен GitHub?
Нет. Подключить личный аккаунт GitHub устанавливает GitHub App от MonstarX: вы входите на GitHub, выбираете репозитории — и готово. Токен личного доступа — лишь альтернатива для тех, кто хочет так ограничить MonstarX одним репозиторием.
Есть ли у GitHub App доступ к организации моей компании?
Нет: приложение устанавливается только в личный аккаунт и там же создаёт новые репозитории. Чтобы отправлять код в репозиторий организации, подключитесь через Использовать авторизацию GitHub или попросите организацию добавить вас, чтобы связать репозиторий из своего аккаунта.
Как позже дать MonstarX доступ к другому репозиторию?
На GitHub откройте настройки установленных GitHub Apps, выберите MonstarX и добавьте репозиторий (или переключитесь на All repositories). Затем свяжите его через меню GitHub в проекте.
Мой репозиторий закрытый?
Новый репозиторий по умолчанию закрытый. Снимайте отметку Закрытый репозиторий, только если хотите сделать код публичным. Значения секретов и данные приложения MonstarX никогда не отправляет.
Можно ли связать репозиторий, который принадлежит организации моей компании?
Да, если ваш аккаунт GitHub может отправлять в него изменения. Выберите Существующий репозиторий или укажите организацию в поле Владелец при создании нового.
Что будет, если отсоединить репозиторий?
MonstarX перестанет синхронизировать проект. Репозиторий со всей историей останется на GitHub, и позже его можно связать снова.
Разработчик изменил package.json на GitHub. Почему это не вернулось в проект?
Файлами фреймворка, такими как package.json и конфигурация, управляет MonstarX. Правки в них остаются на GitHub, пока MonstarX в следующий раз не изменит этот файл; последующие синхронизации никогда не отменяют их молча.
Можно ли разворачивать приложение из репозитория?
Да. Репозиторий готов к развёртыванию, и Railway разворачивает приложение прямо из него. См. также Публикация на других хостингах.
Что будет со связью, если передать проект?
Она удаляется, чтобы от имени нового владельца в ваш аккаунт GitHub никогда ничего не отправлялось. Сам репозиторий не трогается.