2012-08-31 24 views
5

Vì vậy, đây là lần thứ năm điều này xảy ra trong ba tuần qua và tôi thực sự stumped là tại sao điều này tiếp tục xảy ra. Đây là thông điệp chính xác tôi nhận được khi tôi thực hiện 'git status'lỗi: tệp đối tượng trống .git/objects /../ .. rỗng - gây tử vong: đối tượng lỏng lẻo ... bị hỏng

error: object file .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33 is empty 
fatal: loose object 48088f00d90b0d27de65336bb9ed9a75b0cfed33 (stored in .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33) is corrupt 

Tôi đã thử các đề xuất như xóa đối tượng tham nhũng, nhưng sau đó lỗi tương tự sẽ xuất hiện với một đối tượng khác. Mỗi khi tôi đã làm điều này, có kết thúc lên được khoảng 30 đối tượng lỏng lẻo mà tôi phải xóa và sau đó nó vẫn mang lại cho tôi một lỗi sau khi tất cả các đối tượng tham nhũng đã biến mất.

Là lần thứ năm điều này xảy ra, điều gì đó đã sai với git hoặc một cái gì đó liên quan đến nó. Tôi đã thử cài đặt lại git, nhưng tôi vẫn kết thúc với các đối tượng tham nhũng. Tôi đang sử dụng một máy ảo chạy Ubuntu, nếu điều đó sẽ gây ra một cái gì đó như thế này, tôi không biết. Tôi cũng đã cố gắng chuyển sang Linux bạc hà và tôi chống lại vấn đề này là tốt. Cuối cùng tôi đã luôn luôn lưu các thay đổi vào một tập tin văn bản, xóa kho của tôi, kéo kho lưu trữ mới từ git hub và sau đó chỉnh sửa các thay đổi trở lại. Nó hoạt động nhưng nó tốn thời gian và xa lý tưởng. Tôi không nhất thiết phải tìm một cách để sửa lỗi này, mà đúng hơn là những gì gây ra nó và làm thế nào để ngăn chặn nó xảy ra lần nữa.

+0

Bạn đang sử dụng hệ thống tệp nào? Là repo trên ổ đĩa ảo của VM hoặc truy cập thông qua NFS/CFS hoặc một loopback gắn kết hoặc một ext2/ext3/jfs/reiserfs/xfs/... trực tiếp của một thiết bị địa phương trên máy chủ, hoặc một đĩa SAN? Là hệ thống tập tin trong câu hỏi đầy đủ, hoặc đủ gần để nó có thể nhấn đầy đủ trong các hoạt động nhất định? Bất kỳ lỗi hệ thống tập tin/đĩa nào trong các tệp tin/syslog của bạn? – twalberg

+0

Tôi đang sử dụng ổ đĩa cứng ảo được định dạng thành ext4 trong đó kho lưu trữ được lưu trữ. Dung lượng của vhd là 100 GB và tôi chỉ ở mức 20 GB nên tôi không ở đâu gần đầy. Không có lỗi hệ thống tệp nào ... –

+0

Xem câu trả lời tuyệt vời này, http://stackoverflow.com/a/12371337/23118, với nhiều hoặc ít vấn đề tương tự. – hlovdal

Trả lời

0

Điều này thường không xảy ra, vì git đầu tiên ghi nội dung tệp trong tệp tạm thời và sau đó đổi tên tệp thành vị trí cuối cùng. Trong thực tế, tôi đã thấy các tệp đối tượng Git trống do một hệ thống tệp bị hỏng (vboxsf của VirtualBox, được sử dụng để chia sẻ thư mục, dường như là một lỗi khi tôi thấy mọi người phàn nàn về các tệp trống như thế này).

Đặt core.fsyncobjectfiles thành true có thể hữu ích.

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