2011-02-07 24 views
17

için geri sarma çoklu yayınlar (herkese açık olarak yayınlanmadı) Geri alma işlemlerinin yerel bir depodaki en son değişiklik kümesinden kaldırılmasını sağlayabileceğinin farkındayım. Bununla birlikte, paylaşım deposunu yeniden kopyalamak zorunda kalmadan, önceki itmeden beri en son tüm taahhütleri kaldırmak mümkün mü?Mercurial

hg strip REV 

Bu, revizyon + tüm alt öğeleri de kaldıracaktır:

cevap

13

Sen hg clone ile yeni bir repo yapabilir. Eğer cıva tutulma kullanıyorsanız

hg clone -r last_good_changeset localrepo newlocalrepo 
+0

Bu benim favori cevabım, çünkü herhangi bir uzantı gerektirmiyor. Bir kişi bir repo alt kümesini kolayca klonlayabilir ve neredeyse anlıkdır. –

+0

@ Ry4an ... fark ettiniz ki, gerçekten şu cevabı verdiniz: http://stackoverflow.com/questions/4172753/how-to-get-rid-of-some-changeset-in-hg/4173512#4173512! Orijinal cevabınız +1;) – VonC

+0

heh, endişelenmeyin. Bu şeyler hakkında daha iyiydim, soruları çoğaltmaya çalıştım. –

22

Sen hg strip komutu, mq uzatma bölümünü kullanabilirsiniz. Bu denemeden önce

, içinde deneme depo bir kopyası/klon yapmak

+1

Bu sorunun gerçek cevabı olması gerektiğine inanıyorum. Diğeri ise, orijinal soruda ("yeniden klonlanmak zorunda kalmadan") bir seçenek olmaması için özellikle talep edilen bir repo klonudur. Özgün yazıyla aynı çözümü ararken, bu soruya cevap veriyor ve diğeri klon nedeniyle DEĞİLDİR ... Eğer diğeri ise cevabın asıl meselesidir. Arama yaparken insanlar? – GazB

+0

Sizinle aynı fikirdeyim GazB –

+0

'Strip' eklentisinin [Strip için Hg Wiki] 'de (https://www.mercurial-scm.org/wiki/StripExtension) nasıl etkinleştirilebileceğine dair talimatlar. –

0

yapabilirsiniz Bir kez geri alın, sonra bu değişiklikleri taşıyın, ardından birden fazla sıralı işlemi yamalar olarak dışa aktarın, bu işlemleri şeritleyin, ardından bu parçaları aynı sırayla içe aktarın, böylece çakışan yamalar varsa, birbirinin üzerine istediğiniz şekilde yazabilirsiniz.

Son olarak ilk geri alma işleminizi gerçekleştirebilirsiniz. Bu, bir kereden fazla geri dönüyormuş gibi aynı etkiyi elde eder.