backout
aradığınız gibi geliyor.
hg help backout
Ben tek seferde birden hareketin vazgeçme sanmıyorum, bu yüzden bunları tek tek vazgeçme zorunda: Bkz Bu D üstünde üç kaydedilmesini yaratacak
hg backout D
hg backout C
hg backout B
o D, ve C ve B'nin tersidir. Bu değişiklikleri tek bir değişiklik kümesinde birleştirmek isterseniz, bunları rebase --collapse
veya başka bir uzantıdan (örn. histedit
veya mq
veya collapse
uzantılar) kullanarak katlayabilirsiniz.
hg update A
hg debugsetparents D
hg commit -m "revert B-D"
Bu çirkin, ama işe yarıyor:
münferit değişiklikler vazgeçme ama tek seferde hepsini yapmak istemiyorsanız
, aşağıdaki yapabilirdi. Ancak bu, yeniden adlandırılan adlar kaydetmez. Dürüst olmak gerekirse, bunu yapmamayı tavsiye etmem, eğer o kadar çok bireysel geri gönderme komutları yazmak için çok fazla sorun çıkarsa, bunu yapmak için gerçekten ne yapmak istediğinizi gerçekten merak ediyorum. vaka. Alternatif olarak, Jim ve Rafael'in önerdiği gibi yapabilir ve B, C ve D'nin bir dalda olduğuna karar verebilir ve A'ya geri dönerek oraya devam etmeye devam edebilirsiniz (bu noktada tarihin ayrılması). Bu daha uygun olabilir.
Bu, ancak D sadece bir HEAD ise. Hg'de çöp toplama yok, B, C ve D kaybolmayacak. D, sadece itebileceğiniz ya da kullanamayacağınız bir KAFA olacaktır. – DanMan