2013-06-05 33 views
5

tôi đã viết một tập tin README.md trong máy chủ từ xa và hoàn thành mà một, nhưng tôi vô tình đã đẩy lực lượng để điều khiển từ xa bằng cách sử dụng git push origin master và bây giờ đã biến mất README.mdKhôi phục git ghi đè cam kết bị mất bằng vũ lực đẩy

Có cách nào tôi có thể truy xuất cam kết đó không? Tôi đã viết một tệp README.md rất dài và thực sự muốn xem liệu tôi có thể lấy lại nó hay không: (

Tôi đã tìm kiếm mặc dù git fsck và không thể tìm thấy thông tin về README.md mà tôi đã cam kết từ máy chủ từ xa trên github.com

+0

Bạn đã thực hiện 'ghi tệp README.md trong máy chủ từ xa' trong github hoặc máy chủ của riêng bạn? – pktangyue

+0

@pktangyue nó đã được trên github máy chủ và nó đã được hiển thị trên phần cam kết có – Ali

+0

Bạn có thể goto trang chỉ mục của github để kiểm tra xem có bất kỳ thông tin của bạn bị mất cam kết. – pktangyue

Trả lời

6

Trong Hoạt động Công của github, bạn có thể thấy một cái gì đó như thế này:

XXX pushed to master at XX/XXX 
d506bb1 Update README.md. 

Và đây d506bb1 bị mất của bạn cam kết.

6

Nếu nó tồn tại trong một số bản sao làm việc, hãy chuyển đến repo đó và sử dụng git reflog để tìm bản sửa đổi có chứa nó và git checkout để chuyển đến bản sửa đổi đó (bên ngoài bất kỳ chi nhánh nào). sao chép tập tin ra bất cứ nơi nào bạn muốn

Nếu máy chủ là trần, nó có lẽ vẫn là một đối tượng trên máy chủ nhưng không có loại o f git fetch sẽ sao chép nó vào bất kỳ repo nào khác vì không có tham chiếu đến nó. Trong trường hợp đó, bạn sẽ cần truy cập vào repo trần để chạy trực tiếp git fsck của bạn.

+0

Tôi không có may mắn trên 'git reflog' nó không có trong máy cục bộ của tôi :(, và tôi đã thử 'git fsck' tôi đã không đi qua tất cả chúng, nhưng thực sự có rất nhiều ở đó: ( – Ali

+0

Tôi đã đào xung quanh trang hoạt động của tôi và tìm thấy tập tin: D – Ali

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