2013-04-22 45 views
10

Gần đây tôi đã bắt đầu sử dụng SourceTree để làm việc với Bitbucket. Tôi đã làm việc trên một dự án, và sau đó tôi quyết định tôi cần phải chuyển nó vào một thư mục khác (vì nhiều lý do). Vì vậy, tôi cắt các tập tin mà tôi đã làm việc trên trong repo, và sau đó nhấp vào nút xóa trong SourceTree, không nhận ra rằng làm điều này thực sự sẽ xóa các tập tin. Tôi cắt các tập tin chỉ trong trường hợp, nhưng không nhớ rằng dán các tập tin này đòi hỏi các tập tin gốc để tồn tại.Khôi phục các tệp đã xóa từ SourceTree hoặc Git

Bây giờ, tôi chỉ có các tập tin còn sót lại từ repo rằng SourceTree không xóa .. đây là các tập tin trong thư mục objects, và tôi không có info hoặc pack thư mục mà là bên trong thư mục objects.

Có cách nào để tôi có thể khôi phục tệp không? Tôi đã xem xét this questionthis question, tuy nhiên tôi mới tham gia git và không thể tìm ra cách thực sự làm như vậy.

Vui lòng trợ giúp! Làm thế nào tôi có thể khôi phục các tập tin trong repo?

+0

Bạn có cam kết các tệp này trước khi xóa chúng không? Bạn vẫn có thể nhìn thấy chúng trong dòng thời gian trong một phiên bản cũ hơn? – Thilo

+0

@Thilo Như tôi đã nói, tôi đã xóa toàn bộ repo từ SourceTree. Khi tôi cố gắng nhập lại nó, mã lỗi 128 sẽ xuất hiện. Không, tôi không cam kết các tập tin. – cpdt

+4

Nếu bạn không bao giờ cam kết xóa các tập tin, không có cách nào với git để khôi phục chúng. Bạn có thể cung cấp cho chúng tôi kết quả của 'git log --graph --oneline --decorate --all -20' không? Và kết quả của 'trạng thái git' cũng sẽ hữu ích để hiểu rõ hơn về tình hình. –

Trả lời

4

Nếu các tệp đó được cam kết, bạn chỉ có thể thực hiện git checkout HEAD -f.
Nếu các tệp không được cam kết, chúng không được lưu trữ dưới dạng đối tượng.

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