Ich bin gerade von SVN gewechselt, wo ich nach einigen Änderungen am Stamm eine Reihe von Revisionen (von meiner letzten Zusammenführung vom Stamm zum Branhc - HEAD) in einen Zweig zusammenführen würde. Ich möchte das gleiche mit Mercurial mit TortoiseHG tun, aber ich kann nicht herausfinden, wie. Ich habe gerade zwei Changesets an den Stamm übergeben, jetzt brauche ich den Zweig, um diese Änderungen zu integrieren. Danke im Voraus!Mercurial/TortoiseHG Zusammenführen von Trunk-Änderungen in Zweig
Antwort
In hg (oder einem anderen DVCS) können Sie alle Änderungssets mit anderen Änderungssets zusammenführen (außer den Vorgängern). Wenn Sie das Repository-Protokoll von TortoiseHG öffnen (Changelog anzeigen im Explorer-Kontextmenü oder hgtk log
über die Befehlszeile), können Sie auf jeden Änderungssatz aktualisieren und dann "Zusammenführen mit" auswählen.
In Ihrem speziellen Fall würden Sie auf Ihre Zweigstelle aktualisieren und dann mit dem Stammkopf zusammenführen.
Dies ist, was ich in der Regel tun:
hg up trunk #assuming trunk is your main branch
hg merge -r myawesomebranch
#party
ich einen Führer über working with branches in Mercurial geschrieben habe. Es läuft darauf hinaus, diese nach unten:
$ hg update mybranch # unless you are already at the tip of the branch
$ hg merge default # merge in latest changes from "trunk"
$ hg commit -m 'Merge with default'
Wenn mybranch
getan wird, schließen Sie es und führen Sie sie in default:
$ hg commit --close-branch -m 'Ready for merge'
$ hg update default
$ hg merge mybranch
$ hg commit -m 'Integrated mybranch'
Die kühle Sache über Mercurial ist, dass Sie die gleichen Befehle verwenden, egal in welche Richtung du fusionierst. Das Merge-Tracking-System von Subversion erfordert, dass Sie spezielle Befehlszeilen-Flags hinzufügen, wenn Sie in eine Richtung zusammenführen, aber nicht in die andere (ich kann mich nicht erinnern, welche Richtung welche ist, ohne im Handbuch nachzuschlagen).
Können Sie einen aktualisierten Link zum Handbuch bereitstellen? Der in diesem Kommentar ist gebrochen. –
Sicher, ich habe den Link repariert! –
- 1. LibGit2Sharp - Zusammenführen von Zweig
- 2. Kleine Änderung in Zweig zusammenführen
- 3. Repository als Zweig zusammenführen
- 4. einen lokalen Zweig in einen anderen lokalen Zweig zusammenführen
- 5. git Änderungen an lokalen Zweig zusammenführen
- 6. Zusammenführen von Zweig, der keine Konflikte zum Auflösen erzeugt
- 7. Wie Kopf Commits von einem anderen Zweig zusammenführen?
- 8. Sollte ich Master in einen Zweig zusammenführen und dann wieder in Master zusammenführen?
- 9. Wie kann ich einen lokalen Zweig zum Ziehen/Zusammenführen von einem bestimmten Remote-Zweig festlegen?
- 10. Zusammenführen und löschen Zweig in einem Schritt/Befehl
- 11. Mercurial: Zusammenführen eines geschlossenen Kopfes in einen anderen Zweig
- 12. Wie kann ich einen entfernten Zweig in einen anderen Zweig überschreiben, nicht zusammenführen?
- 13. Git: Zweig zusammenführen und HEAD für alle Konflikte akzeptieren
- 14. Ziehen/Schieben/Zusammenführen verändert einen Zweig mit Bazaar
- 15. Sollte ich einen Zweig nach dem Zusammenführen löschen?
- 16. Binärdateien zusammenführen
- 17. Wie man Zweig zusammenführen und die Urheberschaft behalten
- 18. SVN-Strategie mit Verzweigungen und Zusammenführen von Änderungen von Stamm in Zweig
- 19. Git: Zusammenführen, um Master-Dateien mit Zweig zu überschreiben
- 20. Merge (kein Zweig) in Master
- 21. Wie kann ich eine bestimmte Datei von einem Zweig in einen anderen Zweig in Git
- 22. Wie Kirsche auf eine Reihe von Commits holen und in einen anderen Zweig zusammenführen
- 23. Zusammenführen von CSV-Dateien: Anhängen statt Zusammenführen
- 24. Git - Verwenden von Rebase zum Zusammenführen von öffentlichen Zweig zu Master
- 25. Trunk zu Zweig in Subversion
- 26. Eine Änderung in mehrere Zweige zusammenführen
- 27. Split Zweig in zwei Filialen/Merge einen Zweig selektiv
- 28. Zusammenführen von Konflikten von Upstream aktualisieren
- 29. XML-Dateiänderungen in git zusammenführen
- 30. Zusammenführen von Karten in Go
Mein Fall war aufgrund der SVN-Konvertierung nicht ganz so einfach wie dieser, aber das ist der genaue Ansatz, den ich nehmen werde. – Chris
@Chris: Möchten Sie die Details Ihrer Einrichtung teilen? Welche Art von Verzweigungsstruktur hast du? –
Ich habe versucht, meinen Stamm in meinen Zweig zu verschmelzen, aber da mein Repository aus einem SVN Repo mit HG CONVERT erstellt wurde, wusste HG nicht, dass ich Änderungen aus dem Kofferraum auf dem Weg aufgenommen hatte. Ich führte die Zusammenführung vom Stamm zum Zweig durch und entschied mich, alle meine Änderungen vom Zweig abzuhalten. Ich habe mich verpflichtet. Dies ließ HG erkennen, dass mein Rüssel mit dem Ast verschmolzen war. Dann habe ich die neuen Änderungen am Stamm vorgenommen, festgeschrieben, und jetzt, als ich mich zusammenschloss, wusste HG, dass diese neuen Änderungen die einzigen waren, die zusammengeführt werden mussten. Jetzt weiß HG genau, was in meinem Repository ist. – Chris