Có vẻ bạn đã viết lại lịch sử của bạn (SHA-1 kết hợp với cam kết) trong chi nhánh chủ của bạn
Điều đó có nghĩa, bạn có thể không còn đẩy trong một chế độ nhanh về phía trước của bạn
các lực lượng chủ + push to diễn ra:..
bằng có tùy chọn + hàng đầu, bạn có thể yêu cầu git cập nhật thông tin <dst>
ngay cả khi bản cập nhật không tiến nhanh.
Lưu ý: điều này có thể xấu nếu bất kỳ ai khác đã nhân bản kho lưu trữ của bạn, vì chúng sẽ không còn có thể kéo nhánh chính của bạn mà không có xung đột.
Xem thêm điều này SO answer for more.
Lưu ý: như đã đề cập by Junio C. Hamano:
Có hai cơ chế an toàn độc lập:
việc gửi an toàn cuối cùng có thể được ghi đè bởi "git push --force
" và/hoặc bằng cách sử dụng một refspec có tiền tố '+
');
độ an toàn khi nhận được có thể bị ghi đè bằng biến cấu hình receive.denynonfastworwards
của kho lưu trữ mà bạn đang đẩy vào.
Giá trị mặc định sau là "không an toàn", nhưng nếu sự an toàn được kích hoạt trong kho, việc bắt buộc từ phía gửi sẽ không hủy kích hoạt. IOW, cả hai đầu cần đồng ý để cho phép hành vi không an toàn.
Như đã đề cập trong Git FAQ, một khóa học có thể có của hành động là:
Lý do có thể nhất cho điều này là bạn cần phải kéo từ xa đầu tiên. Bạn có thể thấy những gì thay đổi phía từ xa có bằng cách lấy trước và sau đó kiểm tra nhật ký.Ví dụ,
$ git fetch origin
$ git log master..origin/master
sẽ liệt kê tất cả những thay đổi ở phía xa có mà phía bạn thì không.
Nếu bạn muốn có một đại diện đồ họa, hãy sử dụng gitk --left-right master...origin/master
.
Mũi tên ở bên trái là những thay đổi bạn muốn đẩy, mũi tên bên phải là những thay đổi ở phía xa.
giải pháp khác (đó là những gì bạn đã làm):
$ git push origin +branchname
Điều này sẽ buộc các bản cập nhật. Nếu bạn không có sự cho phép, sau đó đôi khi điều này sẽ làm việc:
$ git push origin :branchname
$ git push origin +branchname
tức, xóa các chi nhánh từ xa đầu tiên (điều này thường được cho phép), sau đó lại đẩy "mới" (hoặc có lẽ rewound) branch.
Được cảnh báo rằng nếu bạn tua lại cành, những người khác có thể gặp sự cố khi kéo.
Có khả năng họ sẽ hợp nhất trong nhánh mà họ đã tìm nạp bằng nhánh mới mà bạn đã xuất bản, giữ lại những thay đổi mà bạn đang cố gắng loại bỏ một cách hiệu quả.
Tuy nhiên, nó sẽ chỉ là bản sao của chúng có bản sửa đổi xấu. Vì lý do này, tua cành được xem là nhẹ xã hội. Tuy nhiên, nó thường là thích hợp.
Đã thêm giải pháp khác, để trả lời nhận xét của bạn. – VonC