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 を有効化 | 同期のオン/オフ |
| リモートリポジトリ URL | Git リモートリポジトリのアドレス(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 | 永続的な失敗(例:設定エラー) |
disabled | Git Sync がオフになっている |
競合処理
競合は、ローカルとリモートの両方に未マージの変更がある場合に発生する。
競合レポート
競合レポートには以下がリストされる。
- 競合ファイルパス
- ローカルバージョンのハッシュ
- リモートバージョンのハッシュ
- 競合理由(例:両者が同時に同じタグを変更)
解決手順
- Home ページの Git Sync パネルで競合レポートを確認
- 競合内容を分析(ファイルレベルの粒度)
- ローカルバージョン、リモートバージョンを保持するか、手動でマージするかを決定
- マージ完了後、変更をコミット
ベストプラクティス
定期的な同期
Git Sync はリアルタイム同期ではない。以下を推奨する。
- タグ管理やトピック修正のバッチ完了後に手動で同期をトリガーする
- または Home ページで同期状態を監視し、キューが滞留しないようにする
チームコラボレーション
複数人で同じタグ語彙を共有する場合。
- 語彙管理の専任者を配置することを推奨する
- タグ変更が Git Sync で伝播した後、他のメンバーが同期プルを実行する
- 交渉を通じて競合を解決する
バックアップ戦略
- Git Sync は Canonical Store の追加バックアップとして機能し、Zotero データ自体のバックアップに代わるものではない
- Git リポジトリを定期的にリモートにプッシュすることを推奨する(ビルトインサポート)
- 初回同期には時間がかかる場合がある。以降の同期は差分同期
次のステップ
- Home ダッシュボード — 同期状態パネルを確認
- タグ管理 — 統制タグ語彙を管理
- 環境設定 — Git リポジトリのパラメータを設定