メインコンテンツまでスキップ

Git Sync

非推奨

Git Sync は現バージョンで非推奨となり、外部からは利用できなくなった。プラグインはWebDAV Durable Bundle Syncに移行している。これは WebDAV プロトコルを使用して Synthesis の永続状態スナップショットを交換し(Git リポジトリではなく)、より軽量なクロスデバイス同期を実現する。

代わりに WebDAV Sync を使用されたい。

Git Sync は、暗黙的な内部トランスポートチャネルとしてのみ残されている(過去の診断と将来のクリーンアップに使用)。以下のドキュメントは過去の情報として保持されている。

Git Sync は Synthesis Workbench のオプション機能で、Canonical Store から Git リポジトリへ知識グラフデータを同期し、バージョン管理、バックアップ、コラボレーションを可能にする。

ユースケース

  • バージョン管理: すべてのタグ語彙、トピック統合、概念知識ベースの変更履歴を追跡
  • バックアップ: 構造化知識データをリモート Git リポジトリにバックアップ
  • コラボレーション: 複数の研究者が同じタグシステムと分析結果を共有

設定

Zotero の環境設定で Git Sync を設定する。

Zotero → 設定 → Zotero Agents → Synthesis Git Sync

設定説明
Git Sync を有効化同期のオン/オフ
リモートリポジトリ URLGit リモートリポジトリのアドレス(HTTPS と SSH をサポート)
ブランチ名同期に使用する 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. Home ページの Git Sync パネルで競合レポートを確認
  2. 競合内容を分析(ファイルレベルの粒度)
  3. ローカルバージョン、リモートバージョンを保持するか、手動でマージするかを決定
  4. マージ完了後、変更をコミット

ベストプラクティス

定期的な同期

Git Sync はリアルタイム同期ではない。以下を推奨する。

  • タグ管理やトピック修正のバッチ完了後に手動で同期をトリガーする
  • または Home ページで同期状態を監視し、キューが滞留しないようにする

チームコラボレーション

複数人で同じタグ語彙を共有する場合。

  • 語彙管理の専任者を配置することを推奨する
  • タグ変更が Git Sync で伝播した後、他のメンバーが同期プルを実行する
  • 交渉を通じて競合を解決する

バックアップ戦略

  • Git Sync は Canonical Store の追加バックアップとして機能し、Zotero データ自体のバックアップに代わるものではない
  • Git リポジトリを定期的にリモートにプッシュすることを推奨する(ビルトインサポート)
  • 初回同期には時間がかかる場合がある。以降の同期は差分同期

次のステップ