Khi bạn mới sử dụng Git (và DVCS nói chung) và bạn bắt đầu khám phá các thay đổi viết lại lịch sử, bạn sẽ an toàn nếu kho lưu trữ chỉ cục bộ, nhưng bạn có thể gặp sự cố nếu bạn làm việc với điều khiển từ xa và cố gắng đẩy những thay đổi như vậy.
Một tính năng mà tôi mong đợi là khả năng kích hoạt "chế độ an toàn", về cơ bản sẽ ngăn tôi làm bất cứ điều gì tôi không nên làm ... Và ý tôi là gì? Tôi có nghĩa là thay đổi viết lại lịch sử cho những thứ đã được đẩy đến một nguồn gốc. Tôi không thể xác định chính xác, nhưng điều này sẽ bao gồm các trường hợp như:
commit --amend
khi đã được đẩyrebase
của một chi nhánh không phải địa phươngreset
của một chi nhánh đã được đẩy
Đây là những ví dụ về các tình huống có thể sẽ khiến push
thất bại tiếp theo (bởi vì nó sẽ không được chuyển tiếp nhanh, IIRC). Tôi đã thực hiện một số điều đó một cách tình cờ và phải tạo lại chi nhánh trên điều khiển từ xa. Và tôi vẫn may mắn làm điều này đủ nhanh để không ai kéo lại lịch sử mà tôi đã viết lại.
Tôi tin rằng có thể xác định loại thay đổi này và, theo yêu cầu, ngăn người dùng thực hiện chúng. Có lẽ có một lựa chọn cho điều đó?
Nếu không, bạn có nghĩ rằng đáng để thử tạo nó không? Bạn có cố gắng xác định chính xác làm thế nào để xác định một "thay đổi nguy hiểm" như vậy không?
--force
.