2014-04-17 15 views
14

Tôi đã làm việc mặc định, nhưng được cho là đang làm việc ở một chi nhánh khác. Tôi đã cam kết nhưng không đẩy.Mercurial: Loại bỏ cam kết cuối cùng

Bây giờ tôi muốn thay đổi các chi nhánh và cam kết các thay đổi cho một chi nhánh khác, nhưng cũng không muốn cam kết chuyển sang mặc định.

Làm cách nào để hoàn tác cam kết đó?

Trả lời

21

Nếu bạn vẫn đang trong giai đoạn dự thảo (chưa được đẩy ở nơi khác), hãy sử dụng lệnh mở rộng được xây dựng trong hg strip <rev>. Nếu không, bạn nên làm một hg backout, điều này sẽ đảo ngược changeset.

Trong trường hợp bạn vẫn cần cam kết bạn đã thực hiện, tôi đề nghị bạn export nó một lần nữa trong nhánh chính xác, trước khi tước.

+3

Cũng 'hg rollback' có thể hữu ích nếu bạn chưa đẩy thay đổi được nêu ra. – rpeshkov

+0

@black_wizard Đúng, chủ yếu là nếu bạn muốn theo dõi các thay đổi sai! – Vince

+0

Là "dải" một sự kéo dài quá? Đầu ra trợ giúp hg của tôi không liệt kê nó như một lệnh hợp lệ. – Alex

1

Nếu "một chi nhánh" đã tồn tại, bạn phải di chuyển changeset đến nó, sử dụng hg rebase (phải được kích hoạt)

Các vấn đề liên quan