Синхронизация через Git
Синхронизация через Git подключает директорию базы знаний к удалённому репозиторию Git, привнося историю версий и командную синхронизацию в ваши документы Markdown. Это основа функций совместной работы Moraya — командное ревью и ИИ-ревью строятся поверх неё.
Требования
Синхронизация через Git вызывает системную команду git напрямую, поэтому Git должен быть установлен на вашей машине. В большинстве профессиональных сред он уже есть.
Привязка базы знаний
Вы можете подключить базу знаний к удалённому репозиторию двумя способами:
- Клонировать существующий репозиторий в новую локальную базу знаний.
- Инициализировать и запушить — превратить существующую локальную базу знаний в репозиторий и отправить её в пустой удалённый репозиторий.
После привязки Moraya отслеживает, насколько ваша локальная копия опережает удалённую или отстаёт от неё, и отображает статус синхронизации в интерфейсе.
Повседневные операции
| Действие | Что оно делает |
|---|---|
| Pull | Получить и слить удалённые обновления |
| Push | Отправить ваши локальные коммиты в удалённый репозиторий |
| Commit | Проиндексировать изменённые файлы и записать коммит с сообщением |
| Status | Посмотреть, какие файлы изменены, добавлены или удалены |
| History | Просмотреть журнал коммитов репозитория или отдельного файла |
| Diff | Сравнить версии документа |
Учётные данные и безопасность
Токены доступа никогда не хранятся в открытом виде и не встраиваются в URL удалённого репозитория. Moraya держит их в связке ключей ОС и подставляет только на время выполнения команды git через GIT_ASKPASS:
- Токены извлекаются из связки ключей для каждой операции и никогда не записываются на диск в репозиторий.
- Аргументы Git проверяются по белому списку — склонные к инъекциям флаги вроде
--upload-packи--receive-packотклоняются. - Переменные окружения подпроцессов фильтруются, а вывод команд усекается, чтобы пути к файлам и внутренние детали не утекали.
- У операций есть тайм-ауты (клонированию отводится больше времени, чем рутинным pull и push).
Что синхронизируется
Ваши файлы Markdown синхронизируются как обычно. Moraya также хранит в базе знаний директорию .moraya/ для данных совместной работы — ветки обсуждений ревью и состояние блокировок разделяются с вашей командой через тот же репозиторий, а локальные для машины артефакты (поисковые индексы, производные правила) исключаются.