2013-05-22 10 views

cevap

-3

NOT: Bu yanıt şimdi kullanımdan kaldırılmıştır. Bunun yerine @Sorina Sandu'dan the answer adresine bakın.

--amend bayrağı o yılında ebeveyn değişiklikleri içeren taahhüt yeni çalışmaya dizinin üst değiştirme kullanılabilir:


yazan yere hg help commit gör Varsa "hg durumu" tarafından bildirilenlere ek olarak. Eski işlem, bir yedek pakette ".hg/strip-backup" (bkz. "hg yardım paketi" ve "hg help unbundle" öğesinde nasıl yedekleneceği hakkında) saklanır.

+5

Lütfen bu yanıtı, ayrıştırmadan sonra gerçekleşmemiş işlemleri yapmak için hangi adımların yapılması gerektiğini açıklayarak geliştirin. – akuhn

+0

@akuhn, bence 'hg merge' ve sonra 'hg commit -m' message_for_the_last_commit'', ama geçmişi biraz karıştırıyor. – oblalex

+0

Genel olarak, ya sadece 'yeni' ayrılan 'ipucu' işlemini kendiniz yaparsınız, böylece anlamlı bir hata mesajı verebilir ya da @oblalex'in önerdiği ve 'birleştirme' olarak yapacaksınız. Birçok durumda, yeni ipucu ile kullanılan mesaj olarak eski ipucunun (hg unbundle' tarafından bırakılmış) bırakılan mesajını almak isteyeceksiniz. –

36

Sen hg reflog ve hg reset <hash> (journal extension itibaren) kullanabilirsiniz. O, Geri almak istediğiniz değişiklik ise sadece kullanmak

<old-hash> -> <new-hash> <user> <timestamp> commit --amend <some-path> 

:

hg reset <old-hash> 

ne döndürülecek taahhüt önceden bulunan ve

hg reflog -v 

gibi bir şey vermelidir Değiştirilen değişiklikler şimdi değiştirilmemiş değişiklikler olmalıdır (hg status ve hg diff kullanarak kontrol edin).

+6

bu doğru bir cevaptır. mercurial reflog ve –

+0

sıfırlamayı destekliyor, bu sadece mükemmel bir şekilde mengenede çalışıyor –

+0

@JacobKrall Bu benim için Mercurial ile mükemmel çalışıyor. – zzy

2
  1. Eğer iki başı olmalıdır
  2. Şimdi
  3. hg unbundle <latest backup>
  4. .hg/strip-backup dizinde son kaydedilen yedek bul - iki kaydedilmesini ile değiştirilmiştir, taahhüt diğeri ile bir (ilkini - Eski değiştiren, ikincisi önce taahhüt caled: "geçici (eski taahhüt hash) için değişiklik düzeltmek."
  5. histedit uzantısına sahipseniz, bunu değiştirmek için hg histedit yapabilirsin (örn. edit seçmeden hemen önce bir durum elde etmek için seçin;kullanarak tüm değişiklikleri görebileceğiniz zaman).

Eski kafayı çıkarmayı unutmayın.

İlgili konular