Tôi biết mọi người đã hỏi những câu hỏi tương tự, nhưng tôi tin rằng nguyên nhân của vấn đề của họ là khác nhau. Tôi đã làm một hard reset bởi vì tôi đã sai lầm mã của tôi khá xấugit push bị từ chối: lỗi: không thể đẩy một số refs
git reset --hard 41651df8fc9
Tôi đã thực hiện một số thay đổi khá, tôi đã thực hiện một số cam kết và bây giờ mà tôi đang cố gắng để đẩy tất cả những cam kết vào máy chủ Tôi nhận được lỗi sau:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]'
Git gợi ý thực hiện một thao tác kéo và đó là những gì người khác đã đề xuất cho người dùng khác. Tuy nhiên, tôi tin rằng một git kéo sẽ hợp nhất mã hiện tại của tôi với mã mà tôi không muốn nữa (sửa đổi đầu). Làm cách nào để đẩy và quên phiên bản/bản sửa đổi trước tôi?
Tôi đoán tôi không có quyền 'từ xa : error: từ chối các ref/head/master không nhanh về phía trước (bạn nên kéo đầu tiên) 'Tôi là người duy nhất làm việc trên repo này vào lúc này, vì vậy tôi không lo lắng về bất kỳ chi nhánh nào khác. Bất kỳ ý tưởng? – Eric
Nếu bạn là người duy nhất sở hữu repo này, chỉ cần sử dụng 'git push -f', mà sẽ sử dụng repo hiện tại của bạn thay thế từ xa. Nếu có nhiều người dùng phát triển, thì tiến nhanh là điều cần thiết, nếu không, sẽ rất dễ xảy ra sự phân biệt. – Tim
Nếu bạn có thể đăng nhập trên điều khiển từ xa, bạn có thể đi thẳng vào kho trống git và tự tua lại nhánh, với 'git branch -f', ví dụ:' git branch -f rewind_the_one_I_broke 8120307' chẳng hạn. Bạn có thể chạy 'git log' trong một repo trống để tìm điểm đặt lại. Lưu ý rằng điều này có tác dụng tương tự như 'git push -f' nhưng bỏ qua móc. – torek