Перейти к основному содержимому

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Постоянный сбой (например, ошибка конфигурации)
disabledGit Sync выключена

Обработка конфликтов

Конфликты возникают, когда локальная и удалённая стороны имеют неслитые изменения.

Отчёт о конфликте

Отчёт о конфликте содержит:

  • Пути конфликтующих файлов
  • Хеш локальной версии
  • Хеш удалённой версии
  • Причина конфликта (например, обе стороны одновременно изменили один тег)

Шаги разрешения

  1. Просмотрите отчёт о конфликте на панели Git Sync на главной странице
  2. Проанализируйте содержание конфликта (гранулярность на уровне файлов)
  3. Решите, сохранить ли локальную версию, удалённую версию или выполнить ручное слияние
  4. После завершения слияния зафиксируйте изменения

Рекомендации

Регулярная синхронизация

Git Sync не является синхронизацией в реальном времени. Рекомендуется:

  • Вручную запускать синхронизацию после завершения пакета управления тегами или изменения тем
  • Или отслеживать статус синхронизации на главной странице, чтобы очередь не накапливалась

Командная работа

Когда несколько человек используют один словарь тегов:

  • Рекомендуется назначить ответственного за управление словарём
  • После распространения изменений тегов через Git Sync остальные участники выполняют синхронизацию
  • Конфликты разрешаются путём согласования

Стратегия резервного копирования

  • Git Sync дополняет Canonical Store как дополнительное резервное копирование; она не заменяет резервное копирование самих данных Zotero
  • Рекомендуется регулярно отправлять Git-репозиторий в удалённое хранилище (встроенная поддержка)
  • Первичная синхронизация может занять много времени; последующие синхронизации инкрементальные

Следующие шаги