2012-08-14 6 views
5

In meinem Repository musste ich zu einer älteren Revision zurückkehren. Ich habe die Änderungen rückgängig gemacht und die notwendigen Änderungen vorgenommen. Wie schiebe ich die neue Revision upstream?Entfernen Sie eine Revision in TortoiseHG und Mercurial

Ich war auf Rev 17, als ich zu Rev 13 zurückkehren musste. Jetzt, wo ich meine Änderungen vorgenommen habe, bin ich auf Rev 18. Die Sache ist, wenn ich gehe, um diese Änderungen zu schieben (ich bin Mit TortoiseHG) erhalte ich einen Fehler "abort:push create new remote head.

Ich möchte keine Zusammenführung machen. Will ich eine Kraft mit dem Befehl --force machen oder muss ich rev 14-17 löschen. Wenn ich löschen muss, wie lösche ich 14-17.?

Antwort

3

Sie möchten Revisionen nicht löschen und daher die Historie zerstören. Das ist gegen den Grund, warum Versionskontrolle existiert.

Sie können eine merge and discard tun.

Sie können dies auch in tortoiseHG tun.

enter image description here

11

Die richtige Lösung ist, um tatsächlich Discard all changes from merge target (other) revision mit Option zu verschmelzen. Aber manchmal ist das Leben für uns härter und wir müssen wirklich einige Änderungen fallen lassen (zB haben wir nukleare Startcodes oder andere sicherheitsrelevante Daten festgelegt). Ist das dein Fall? Wenn ja, dann folge.

Unter der Annahme, dass ursprünglichen Änderungen nicht veröffentlicht wurden, könnten Sie:

  • mq Erweiterung
  • r Sie auf säumige Änderungen ermöglichen und Modify history->Strip auszuführen. Dadurch werden Änderungen aus Ihrem lokalen Verlauf dauerhaft entfernt.