Passa al contenuto principale

Git Sync

Deprecato

Git Sync è stato deprecato nella versione corrente e non è più disponibile esternamente. Il plugin è passato a WebDAV Durable Bundle Sync, che utilizza il protocollo WebDAV per scambiare snapshot dello stato di persistenza di Synthesis (invece dei repository Git) per una sincronizzazione multi-dispositivo più leggera.

Utilizzare invece WebDAV Sync.

Git Sync è mantenuto solo come canale di trasporto interno implicito (utilizzato per la diagnostica storica e la pulizia futura). La documentazione seguente è conservata per riferimento storico.

Git Sync è una funzionalità opzionale di Synthesis Workbench che sincronizza i dati del grafo della conoscenza dal Canonical Store a un repository Git, abilitando il controllo versione, il backup e la collaborazione.

Casi d'uso​

  • Controllo versione: Tracciare la cronologia delle modifiche per tutti i vocabolari di tag, le sintesi di argomenti e la base di conoscenza dei concetti
  • Backup: Eseguire il backup dei dati di conoscenza strutturati in un repository Git remoto
  • Collaborazione: Più ricercatori condividono lo stesso sistema di tag e i risultati delle analisi

Configurazione​

Configurare Git Sync nelle Preferenze di Zotero:

Zotero → Impostazioni → Zotero Agents → Synthesis Git Sync

ImpostazioneDescrizione
Abilita Git SyncAttivare/disattivare la sincronizzazione
URL repository remotoIndirizzo del repository Git remoto (supporta HTTPS e SSH)
Nome branchBranch Git utilizzata per la sincronizzazione

Prerequisiti​

  • Git installato (disponibile nel PATH di sistema)
  • Un repository Git remoto accessibile (GitHub, Gitee, self-hosted, ecc.)
  • Se si utilizza un repository HTTPS, le credenziali Git devono essere configurate

Ambito della sincronizzazione​

Git Sync sincronizza solo gli asset di dominio canonico (dati di conoscenza strutturati nel Canonical Store), escludendo i dati runtime.

Cosa viene sincronizzato​

DominioContenuto
tags/Vocabolario controllato dei tag
topics/Artifact strutturati per la sintesi degli argomenti
concepts/Base di conoscenza dei concetti (concetti, sensi, alias, relazioni)
topic-graph/Nodi e archi del grafo degli argomenti
citation-graph/Snapshot del grafo delle citazioni

Cosa non viene sincronizzato​

Non sincronizzatoMotivo
Database state/Stato runtime SQLite; può essere ricostruito dagli asset canonici
Log runtimeDati diagnostici temporanei
File workspaceDati temporanei generati durante l'esecuzione
Stato code e lockStato interno di pianificazione

Macchina a stati della sincronizzazione​

Il sistema di sincronizzazione utilizza una macchina a stati guidata da coda per garantire la consistenza:

idle → queued → syncing → idle
↓
blocked_conflict
↓
failed_retryable / failed_permanent / disabled
StatoDescrizione
idleInattivo, nessuna attività in sospeso
queuedModifiche in attesa di sincronizzazione
syncingOperazione di sincronizzazione in corso
blocked_conflictSincronizzazione fallita; i conflitti richiedono risoluzione manuale
failed_retryableFallimento temporaneo (ad es., problemi di rete); riprovabile
failed_permanentFallimento permanente (ad es., errore di configurazione)
disabledGit Sync è disattivato

Gestione dei conflitti​

I conflitti sorgono quando sia il locale che il remoto hanno modifiche non unite.

Report dei conflitti​

Il report dei conflitti elenca:

  • Percorsi dei file in conflitto
  • Hash della versione locale
  • Hash della versione remota
  • Motivo del conflitto (ad es., entrambe le parti hanno modificato lo stesso tag contemporaneamente)

Passi per la risoluzione​

  1. Visualizzare il report dei conflitti nel pannello Git Sync nella pagina Home
  2. Analizzare il contenuto del conflitto (granularità a livello di file)
  3. Decidere se mantenere la versione locale, la versione remota o eseguire un'unione manuale
  4. Dopo aver completato l'unione, effettuare il commit delle modifiche

Best practice​

Sincronizzazione regolare​

Git Sync non è una sincronizzazione in tempo reale. Si raccomanda di:

  • Avviare manualmente la sincronizzazione dopo aver completato un lotto di gestione dei tag o modifiche agli argomenti
  • Oppure monitorare lo stato della sincronizzazione nella pagina Home per assicurarsi che la coda non si accumuli

Collaborazione in team​

Quando più persone condividono lo stesso vocabolario di tag:

  • Si raccomanda di designare una persona dedicata alla gestione del vocabolario
  • Dopo che le modifiche ai tag si propagano tramite Git Sync, gli altri membri eseguono un pull di sincronizzazione
  • Risolvere i conflitti tramite consultazione

Strategia di backup​

  • Git Sync integra il Canonical Store come backup aggiuntivo; non sostituisce il backup dei dati di Zotero stessi
  • Si raccomanda di eseguire regolarmente il push del repository Git verso il remoto (supporto integrato)
  • La sincronizzazione iniziale può richiedere molto tempo; le sincronizzazioni successive sono incrementali

Prossimi passi​

  • Dashboard Home — Visualizzare il pannello di stato della sincronizzazione
  • Gestione Tag — Gestire il vocabolario controllato dei tag
  • Preferenze — Configurare i parametri del repository Git