Git Sync
Git Sync устарела в текущей версии и больше недоступна. Плагин перешёл на WebDAV Durable Bundle Sync, которая использует протокол WebDAV для обмена снимками состояния сохранения Synthesis (вместо Git-репозиториев) для более лёгкой кросс-платформенной синхронизации.
Пожалуйста, используйте WebDAV-синхронизацию.
Git Sync сохранена только как неявный внутренний транспортный канал (используется для исторической диагностики и будущей очистки). Документация ниже сохранена для исторической справки.
Git Sync — это дополнительная функция Synthesis Workbench, которая синхронизирует данные графа знаний из Canonical Store в Git-репозиторий, обеспечивая контроль версий, резервное копирование и совместную работу.
Варианты использования
- Контроль версий: Отслеживание истории изменений для всех словарей тегов, синтезов тем и базы знаний концепций
- Резервное копирование: Резервное копирование структурированных данных знаний в удалённый Git-репозиторий
- Совместная работа: Несколько исследователей используют одну систему тегов и результаты анализа
Настройка
Настройте Git Sync в настройках Zotero:
Zotero → Settings → Zotero Agents → Synthesis Git Sync
| Параметр | Описание |
|---|---|
| Enable Git Sync | Включение/выключение синхронизации |
| Remote Repository URL | Адрес удалённого Git-репозитория (поддерживает HTTPS и SSH) |
| Branch Name | Ветка Git для синхронизации |
Предварительные требования
- Установленный Git (доступный в системном PATH)
- Доступный удалённый Git-репозиторий (GitHub, Gitee, собственный и т. д.)
- При использовании HTTPS-репозитория должны быть настроены учётные данные Git
Область синхронизации
Git Sync синхронизирует только канонические ресурсы домена (структурированные данные знаний в Canonical Store), исключая данные среды выполнения.
Что синхронизируется
| Домен | Содержание |
|---|---|
tags/ | Контролируемый словарь тегов |
topics/ | Структурированные артефакты для синтеза тем |
concepts/ | База знаний концепций (концепции, смыслы, псевдонимы, отношения) |
topic-graph/ | Узлы и рёбра графа тем |
citation-graph/ | Снимки графа цитирований |
Что не синхронизируется
| Не синхронизируется | Причина |
|---|---|
Базы данных state/ | Состояние среды выполнения SQLite; может быть восстановлено из канонических ресурсов |
| Журналы среды выполнения | Временные диагностические данные |
| Файлы рабочего пространства | Временные данные, генерируемые во время выполнения |
| Состояние очереди и блокировок | Внутреннее состояние планирования |
Машина состояний синхронизации
Система синхронизации использует очередь для обеспечения согласованности:
idle → queued → syncing → idle
↓
blocked_conflict
↓
failed_retryable / failed_permanent / disabled
| Состояние | Описание |
|---|---|
idle | Простой, нет ожидающих задач |
queued | Изменения ожидают синхронизации |
syncing | Операция синхронизации выполняется |
blocked_conflict | Синхронизация не удалась; конфликты требуют ручного разрешения |
failed_retryable | Временный сбой (например, проблемы с сетью); можно повторить |
failed_permanent | Постоянный сбой (например, ошибка конфигурации) |
disabled | Git Sync выключена |
Обработка конфликтов
Конфликты возникают, когда локальная и удалённая стороны имеют неслитые изменения.
Отчёт о конфликте
Отчёт о конфликте содержит:
- Пути конфликтующих файлов
- Хеш локальной версии
- Хеш удалённой версии
- Причина конфликта (например, обе стороны одновременно изменили один тег)
Шаги разрешения
- Просмотрите отчёт о конфликте на панели Git Sync на главной странице
- Проанализируйте содержание конфликта (гранулярность на уровне файлов)
- Решите, сохранить ли локальную версию, удалённую версию или выполнить ручное слияние
- После завершения слияния зафиксируйте изменения
Рекомендации
Регулярная синхронизация
Git Sync не является синхронизацией в реальном времени. Рекомендуется:
- Вручную запускать синхронизацию после завершения пакета управления тегами или изменения тем
- Или отслеживать статус синхронизации на главной странице, чтобы очередь не накапливалась
Командная работа
Когда несколько человек используют один словарь тегов:
- Рекомендуется назначить ответственного за управление словарём
- После распространения изменений тегов через Git Sync остальные участники выполняют синхронизацию
- Конфликты разрешаются путём согласования
Стратегия резервного копирования
- Git Sync дополняет Canonical Store как дополнительное резервное копирование; она не заменяет резервное копирование самих данных Zotero
- Рекомендуется регулярно отправлять Git-репозиторий в удалённое хранилище (встроенная поддержка)
- Первичная синхронизация может занять много времени; последующие синхронизации инкрементальные
Следующие шаги
- Главная панель — Просмотр панели статуса синхронизации
- Управление тегами — Управление контролируемым словарём тегов
- Настройки — Настройка параметров Git-репозитория