Tôi đã làm điều tương tự trong khi hoàn tác lần đẩy cuối cùng chỉ cho một tệp. Kết thúc sẽ trở lại trạng thái ban đầu của kho lưu trữ. Tôi đã sử dụng lệnh git từ Linus vì tôi đã có bản sao cục bộ trên Linux. May mắn là bản sao vẫn còn nguyên vẹn.
Tất cả tôi đã làm được (sau khi điên cuồng làm vài bản nhiều repo địa phương):
git add .
git status
(nó nói rằng nguồn gốc/master đã đi trước bởi 68 cam kết, tiền phạt ... đó là những tất cả các cam kết Tôi đã xóa)
git remote set-url origin <GIT_SSH_URL>
git push
Và mọi thứ đã được khôi phục theo cách trước khi tôi đẩy mạnh. Điều quan trọng nhất cần nhớ là không bao giờ thực hiện kiểm tra git. sau khi bạn đã đẩy mạnh. Nhưng cách tốt nhất là tắt tùy chọn đẩy. Tôi không bao giờ sử dụng nó nữa. Đã học bài học của tôi !!
có thể trùng lặp của [Có anyway để hoàn tác git push -f?] (Http://stackoverflow.com/questions/14476236/is-there-anyway-to-undo-git- push-f) – cmbuckley