Tôi muốn sửa đổi của tôi cam kết cuối cùng, nhưng chạyLàm thế nào để sửa đổi một "công cộng" changeset trong Mercurial
hg commit --amend
mang lại cho tôi
abort: cannot amend public changesets
mặc dù tôi biết rằng nó an toàn để chỉnh sửa changeset. Làm thế nào tôi có thể thay đổi giai đoạn của cam kết cuối cùng của tôi và/hoặc nói với Mercurial rằng nó an toàn để sửa đổi?
Đẩy nó lên thượng nguồn vẫn dẫn đến lịch sử của hai lần commit, và 'hg log' cục bộ cũng xác nhận hai cam kết - có cách nào xung quanh điều này không? Vì vậy, nó chỉ cho thấy cam kết sửa đổi? –
Không, nếu bạn đã đẩy các changeset thì bạn không nên sửa đổi nó, đó là lý do tại sao hg ngăn cản bạn làm như vậy. (Trong một số trường hợp, bạn biết rằng nó chỉ được đẩy tới một kho lưu trữ riêng tư khác của bạn, trong trường hợp này câu trả lời này hữu ích.) –
@Daniel Sokolowski, bạn có thể đã loại bỏ lần commit đầu tiên bằng cách hoàn tác/quay lại thượng nguồn repo. Nhưng bạn cần phải nhanh chóng, và làm điều này trước khi bất kỳ bộ thay đổi tiếp theo được đẩy vào nó. –