2012-05-02 13 views
13

Mam tendencję do bycia trochę paranoikiem na temat moich danych, w tym możliwości ich odzyskania.Keep Git Reflog w nieskończoność?

Git reflog dane są przycinane po 30 dniach. Czy istnieje sposób ustawienia go tak, aby dane reflog były przechowywane i przechowywane przez czas nieokreślony?

Jakieś główne zalety lub wady (inne niż względy dotyczące miejsca lub prędkości) w tym zakresie?

+1

Reflog to tylko dziennik, do którego są dołączane, więc nie ma żadnych kwestii związanych z wydajnością związanych z przycinaniem refloga. Git nie odnosi się do reflogu podczas normalnej pracy, chyba że specjalnie poprosisz o reflog. –

Odpowiedz

6

Zastrzeżenie: reflogi są lokalne i nie są wysyłane/odbierane przy użyciu operacji wypychania/wyciągania.

Minusy: reflogi mogą powodować (w przeciwnym razie) nieosiągalne migawki (i w konsekwencji bąble) utrzymywane, zwiększając repo do większych rozmiarów niż mogłoby być pożądane. Spójrz na gc.reflogexpireunreachable po coś, co może pomóc w tym zakresie.

dwa ustawienia konfiguracyjne rządzą upływie reflog wpisów:

gc.reflogexpire, gc.<pattern>.reflogexpire

git reflog wygasają usuwa wpisy reflog starsze niż tym czasie; domyślnie do 90 dni. Po "< wzorzec>" (np. "Refs/stash") w środku ustawienie odnosi się tylko do referencji pasujących do.

gc.reflogexpireunreachable, gc.<ref>.reflogexpireunreachable

git reflog wygasają usuwa wpisy reflog starsze niż tym czasie i nie są osiągalne z bieżącego wierzchołka; domyślnie wynosi 30 dni. W przypadku "< wzorzec>" (np. "Refs/stash") w środku ustawienie dotyczy tylko odniesień pasujących do.

Powiązane problemy