2012-08-14 38 views
5

Trong kho lưu trữ của tôi, tôi cần hoàn nguyên về bản sửa đổi cũ hơn. Tôi đã hoàn nguyên và thực hiện những thay đổi mà tôi cần. Làm cách nào để đẩy luồng mới lên trên?Xóa bản sửa đổi trong TortoiseHG và Mercurial

Tôi đã ở rev 17 khi tôi cần quay trở lại rev 13. Bây giờ tôi đã thực hiện các thay đổi của mình, tôi đang quay vòng 18. Điều là, khi tôi chuyển các thay đổi này lên (tôi sử dụng TortoiseHG), tôi gặp lỗi "abort:push create new remote head.

Tôi không muốn hợp nhất. Tôi có muốn thực hiện một lực với lệnh --force hay tôi cần xóa vòng 14-17. Nếu tôi cần xóa, làm cách nào để xóa 14-17.?

Trả lời

3

Bạn không muốn xóa các sửa đổi và do đó hủy lịch sử. Điều đó đi ngược lại lý do kiểm soát phiên bản tồn tại.

Bạn có thể thực hiện merge and discard.

Bạn cũng có thể làm điều này trong tortoiseHG.

enter image description here

11

giải pháp đúng là để thực sự kết hợp với tùy chọn Discard all changes from merge target (other) revision. Nhưng đôi khi cuộc sống khó khăn hơn với chúng tôi và chúng tôi thực sự cần phải thực hiện một số thay đổi (ví dụ: chúng tôi đã cam kết mã khởi chạy hạt nhân hoặc một số dữ liệu nhạy cảm bảo mật khác). Đó là trường hợp của bạn? Nếu có thì hãy làm theo.

Giả sử rằng những thay đổi ban đầu đã không được xuất bản bạn có thể:

  • phép mq mở rộng
  • r-click vào những thay đổi vi phạm và thực hiện Modify history->Strip. Thao tác này sẽ xóa vĩnh viễn các thay đổi khỏi lịch sử cục bộ của bạn.