2012-05-02 28 views
13

Tôi có xu hướng hơi hoang tưởng về dữ liệu của mình, kể cả khả năng khôi phục dữ liệu.Giữ Git Reflog vô thời hạn?

Dữ liệu cập nhật Git được cắt bớt sau 30 ngày. Có cách nào để thiết lập nó để dữ liệu reflog được duy trì và giữ vô thời hạn?

Bất kỳ lợi thế hoặc bất lợi lớn nào (ngoài cân nhắc về không gian hoặc tốc độ) để làm như vậy?

+1

Việc khôi phục chỉ là nhật ký được nối thêm, do đó không có cân nhắc về hiệu suất liên quan đến việc cắt xén. Git không đề cập đến việc khôi phục lại trong quá trình hoạt động bình thường trừ khi bạn yêu cầu cụ thể cho việc reflog. –

Trả lời

6

Lưu ý: reflog là cục bộ và không được gửi/nhận với các thao tác đẩy/kéo.

Nhược điểm: reflog có thể dẫn đến (nếu không) ảnh chụp nhanh không thể truy cập (và do đó các đốm màu) được giữ xung quanh, hãy phát triển repo của bạn với kích thước lớn hơn có thể là mong muốn. Hãy xem gc.reflogexpireunreachable để biết điều gì đó có thể giúp ích về mặt này.

Hai thiết lập cấu hình chi phối hết các mục reflog:

gc.reflogexpire, gc.<pattern>.reflogexpire

git reflog hết hạn loại bỏ các mục reflog lớn hơn thời gian này; mặc định là 90 ngày. Với "< mẫu>" (ví dụ: "refs/stash") ở giữa, cài đặt chỉ áp dụng cho các thông số khớp với.

gc.reflogexpireunreachable, gc.<ref>.reflogexpireunreachable

git reflog hết hạn loại bỏ các mục reflog lớn hơn thời gian này và không thể truy cập từ đầu hiện hành; mặc định là 30 ngày. Với "< mẫu>" (ví dụ: "refs/stash") ở mức trung bình , cài đặt chỉ áp dụng cho các bản chỉnh sửa khớp với.

Các vấn đề liên quan