2011-07-01 39 views
7

Tôi đã xóa sạch tất cả công việc của mình và không muốn giải thích cách thực hiện.
Điều duy nhất tôi còn lại là các đối tượng git. Hơn nữa, bất cứ điều gì tôi muốn khôi phục một số các tập tin hình ảnh bị mất đóng gói. Từ kích thước của các tập tin đối tượng tôi có thể nói đó là những gì họ đang có. Có cách nào để biến chúng trở lại thành các tệp có thể sử dụng được không?Khôi phục các tệp từ các đối tượng Git

+1

chỉ đối tượng git? không có refs/branch/tags? điều đầu tiên: sao lưu – knittl

Trả lời

5

điều đầu tiên: tạo bản sao lưu! sau đó làm việc trên bản sao của bản sao lưu đó.

nếu các đối tượng git vẫn nằm trong đúng thư mục (.git/objects/xx/xxx…), bạn có thể sử dụng git fsck --full để git phát hiện chúng - nó có thể sẽ liệt kê mọi đối tượng trong kho lưu trữ của bạn. bây giờ hãy tìm những cái có nhãn committag, đó là những cái bạn muốn khôi phục.

tôi có thể sử dụng tập lệnh tạo chi nhánh cho từng đối tượng cam kết được tìm thấy (ví dụ: chỉ cần nhập số rescue-1, rescue-2, v.v.). sau đó sử dụng gitk --all để hình dung tất cả các chi nhánh của bạn và chọn đầu (gần đây nhất). tạo một chi nhánh mới tại đó rescued-master.

thanh toán chi nhánh chính mới của bạn và chạy git branch --no-merge. bạn sẽ nhận được một danh sách các cam kết phân nhánh, không chứa trong master. bạn có thể muốn cung cấp cho họ một tên chi nhánh mới quá.

sau khi bạn hoàn tất, hãy xóa tất cả các chi nhánh số rescue- được đánh số.

hy vọng rằng sẽ giúp và đưa ra một điểm khởi đầu.

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