2012-05-02 11 views
13

Tendo ad essere un po 'paranoico sui miei dati, inclusa la possibilità di recuperarli.Tieni Git Reflog a tempo indeterminato?

I dati del reflind di Git vengono eliminati dopo 30 giorni. C'è un modo per impostarlo in modo che i dati di reflog siano mantenuti e mantenuti indefinitamente?

Qualsiasi vantaggio o svantaggio (a parte considerazioni sullo spazio o sulla velocità) a tal fine?

+1

Il reflog è solo un log che è allegato al, quindi non ci sono considerazioni sulle prestazioni relative alla potatura reflog. Git non si riferisce al reflog durante il normale funzionamento a meno che tu non chieda specificamente il reflog. –

risposta

6

Avvertenza: i riflussi sono locali e non vengono inviati/ricevuti con le operazioni push/pull.

Contro: i reflog possono causare (altrimenti) snapshot non raggiungibili (e conseguentemente blob) mantenuti in giro, aumentando il repository a dimensioni maggiori di quanto sia desiderabile. Guarda gc.reflogexpireunreachable per qualcosa che può aiutare in questo senso.

Due impostazioni di configurazione governano la scadenza delle iscrizioni reflog:

gc.reflogexpire, gc.<pattern>.reflogexpire

git reflog scadono rimuove le voci reflog di età superiore a questo momento; il valore predefinito è 90 giorni. Con "< pattern>" (ad esempio "refs/stash") nel mezzo l'impostazione si applica solo ai ref che corrispondono a.

gc.reflogexpireunreachable, gc.<ref>.reflogexpireunreachable

git reflog scadono rimuove le voci reflog di età superiore a questo tempo e non sono raggiungibili dalla punta corrente; il valore predefinito è 30 giorni. Con "< pattern>" (ad esempio "refs/stash") nel mezzo , l'impostazione si applica solo ai riferimenti che corrispondono a.

Problemi correlati