23 Stimmen

Einen lokalen Zweig in Mercurial verwerfen, bevor er gepusht wird

Oft kommt es vor, dass ich ein paar Commits in meinem lokalen Hg-Repository habe, die ich nicht pushen möchte, und manchmal möchte ich den lokalen Zweig ganz entfernen. Aber ich kann nicht mehr als einen Commit zurücksetzen, was mir keine andere Wahl lässt, als einen neuen Klon zu erstellen und das gesamte Repository erneut herunterzuladen. Das kommt mir dumm vor, denn wenn ich einfach meinen lokalen Zweig löschen könnte, der das entfernte Repository in keiner Weise beeinflusst hat, müsste ich keinen neuen Klon erstellen und einrichten. Ist das in Mercurial so, oder gibt es eine Möglichkeit, einen lokalen Zweig zu löschen?

Gracias.

16voto

Remy Blank Punkte 4196

Wenn Sie die mq-Erweiterung (die mit Mercurial gebündelt ist) aktivieren, können Sie hg strip . Seien Sie jedoch vorsichtig, da dadurch die Historie Ihres Repositorys verändert wird. Die sichere Methode besteht darin, Ihr Repository bis zu der Revision zu klonen, die der Erstellung des zu verwerfenden Zweigs vorausging, und dann die verbleibenden Änderungssätze zu ziehen, die Sie behalten wollen.

5voto

Jaffar Hussain Punkte 308

Ich weiß, dass es zu spät ist, aber es könnte für jeden von Nutzen sein:

Wenn Ihr Zweig noch nicht gepusht ist.

  • Erste Rollback-Änderungen hg rollback nur, wenn Sie eine Verpflichtung eingegangen sind, aber noch nicht veröffentlicht haben
  • Zweiter Lauf hg update --clean
  • Dritter Lauf hg branch any-existing-branch
  • Vierter Lauf hg pull -u

3voto

Ry4an Brase Punkte 77642

Wenn Sie dies häufig tun, sollten Sie vielleicht Lesezeichen anstelle von benannten Zweigen verwenden. http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X