Gần đây, tôi đã chạy git fsck --lost-found
trên kho lưu trữ của mình.git: các đốm lủng lẳng
Tôi dự kiến sẽ thấy một vài cam kết lơ lửng, nơi tôi đã đặt lại HEAD
.
Tuy nhiên, tôi đã rất ngạc nhiên khi thấy có khả năng hơn vài nghìn tin nhắn blob lúng túng.
Tôi không tin điều gì là sai với kho lưu trữ của mình, nhưng tôi tò mò về nguyên nhân gây ra những đốm màu lơ lửng này? Chỉ có hai người làm việc trên kho lưu trữ, và chúng tôi đã không làm bất cứ điều gì ngoài bình thường. Tôi không nghĩ rằng chúng được tạo ra bởi một phiên bản cũ hơn của một tập tin được thay thế bằng một phiên bản mới, vì git sẽ cần phải giữ cả hai đốm màu để nó có thể hiển thị lịch sử.
Hãy suy nghĩ về điều đó, tại một thời điểm chúng tôi đã thêm một thư mục RẤT lớn (hàng nghìn tệp) vào dự án do nhầm lẫn và sau đó xóa nó. Đây có phải là nguồn gốc của tất cả các đốm màu lơ lửng không?
Chỉ cần tìm kiếm thông tin chi tiết về bí ẩn này.
gì sẽ xảy ra nếu những blob là loại bỏ? – nferocious76
@ nferocious76 sau đó bạn không thể cứu vãn các tệp, ví dụ, được thêm vào dàn dựng nhưng không được cam kết, và sau đó được loại bỏ (qua rm -f). Một khi GC đã chạy các tập tin bị mất cho tốt. –
@DavidBrower Tôi thấy cảm ơn bạn. Vì vậy, nó cũng loại bỏ các tập tin unlinked hoặc unreferenced. – nferocious76