3.9 KiB
3.9 KiB
Синхронизация public -> gitverse
Назначение
Скрипт sync-gitverse копирует содержимое public в папку gitverse, затем выполняет коммит и пуш в репозиторий внутри gitverse.
Запуск
- Через npm:
npm run sync-gitverse
- Напрямую:
node scripts/sync-gitverse.mjs
- С явными путями:
node scripts/sync-gitverse.mjs <sourceDir> <targetDir>
По умолчанию:
sourceDir = publictargetDir = gitverse
Что делает скрипт
- Проверяет, что исходная папка существует.
- В целевой папке удаляет всё, кроме:
.git.gitverse
- Копирует содержимое
publicвgitverse(файлы.pngпропускаются — в деплое используются WebP и остальные форматы). - В репозитории
gitverseвыполняет:git add .git commit -m "sync public YYYY-MM-DD HH:mm"(только если есть изменения)git push
- После успешного пуша открывает в системном браузере по умолчанию:
https://mamadaevv.gitverse.site/me/
Если изменений после копирования нет, коммит и пуш не делаются.
Инструкция для агента (Cursor)
Когда пользователь просит выложить на GitVerse, собрать/задеплоить gitverse, синхронизировать с gitverse или аналогично:
- Сборка
public/: если менялисьsrc/pages/**илиsrc/partials/**—npm run build:pages; если шрифты/Plyr/package.jsonилиscripts/copy-vendor.mjs—npm run build(сначалаvendor:copy, затем страницы). См.docs/vendor-assets.md. - Синк и пуш: выполни
npm run sync-gitverseиз корня. Нужны разрешения network и git_write (SSH на GitVerse, пуш из папкиgitverse). - Ожидания: скрипт не копирует файлы
.pngвgitverse. После успешногоgit pushоткрывается системный браузер сhttps://mamadaevv.gitverse.site/me/. Если изменений вgitverseпосле копирования нет — коммит/пуш не выполняются, браузер не открывается. - Не вызывай
sync-gitverseбез запроса пользователя: скрипт очищает целевую папку (кроме.gitи.gitverse) и пушит в remote. - Корневой git репозиторий этого проекта считается только локальным: не пушь из корня в
originи не настраивай remote без явной просьбы пользователя с URL. Внешняя выкладка — черезgitverse, не черезgit pushв корне. - Деплой на VPS — отдельный сценарий, см.
docs/vps-deploy.md.
Подробности и ограничения — в разделах выше.
Требования
- В
gitverseуже должен быть инициализирован git-репозиторий (папка.git). - Должен быть настроен доступ на push (SSH-ключ/права).
Важно
- Скрипт удаляет в
gitverseвсе файлы и папки, кроме.gitи.gitverse. - Не запускай скрипт, если в
gitverseесть локальные несохраненные изменения, которые нужно оставить.