2012-04-11 6 views
3

Ich fragte mich nur, was die beste Praxis in diesem Szenario wäre:Best Practice für die Verzweigung einer Verzweigung und die Kombination mit der Amtsleitung in SVN?

Ich habe "Branch A", die vor einem Monat oder so aus dem Kofferraum verzweigt wurde, die unvollendeten Code enthält. Ich habe auch Code, der derzeit an der Spitze des Stammes ist.

Was ich brauche, ist in der Lage zu haben, einen anderen Zweig, der sowohl den aktuellen Code auf der Leitung und den Code in "Branch A" enthält, aber ich möchte es in "Branch B" umbenennen. Der neue Zweig soll dazu dienen, an Features für eine bestimmte Veröffentlichung zu arbeiten, während "Zweig A" nur dazu diente, an einer bestimmten Funktion zu arbeiten.

Do I:

A) Merge aus dem Stamm mit dem Zweig und dann den Zweig umbenennen?

B) Machen Sie einen Zweig vom Stamm und fusionieren Sie dann "Zweig A" in den neu erstellten "Zweig B"?

C) Führen Sie in TortoiseSVN eine "Zwei-Wege-Zusammenführung" durch?

D) Eine andere Option?

Fragen Sie sich nur, was in diesem Fall empfohlen würde, und was würde die wenigsten Kopfschmerzen auf der Straße geben.

Danke!

Antwort

2

Es ist immer eine gute Idee, Ihre Zweige mit Änderungen vom Stamm auf dem Laufenden zu halten. Für Ihr Szenario würde ich zuerst Stammänderungen in Zweig A zusammenführen. Dann würde ich einen Zweig B aus Zweig A erstellen.

Nachdem beide Zweige erstellt wurden, würde ich mein Bestes tun, um Stammänderungen in beide zusammenzuführen Zweig A und B, wenn Änderungen am Stamm vorgenommen werden.

+0

Alle Arbeiten in A getan wird jetzt in B. getan werden soll Soll ich erstellt Zweig A oder etwas nach B löschen? Ich denke, ich kann nicht, wenn ich B von A abzweige. – Jordan

+2

Wenn der Punkt von Zweig B ist, Zweig A loszuwerden, dann sollten Sie gerade Stammänderungen in Zweig A zusammenführen, und dann sind Sie fertig. Zweig B würde niemals erstellt werden müssen. Es klang, als ob du in deiner ursprünglichen Frage zwei Zweige benötigst. –

+0

Nun, ich muss zuerst die Änderungen von Zweig A integrieren. Ich will nur, dass es "Zweig B" heißt und es sowohl den aktuellen Code aus dem Stammkopf als auch die Änderungen von "Zweig A" enthalten soll. – Jordan

1

Ich würde B Option empfehlen. Es ist wichtig, die chronologische Reihenfolge Ihrer Filialen zu beachten. Änderungen von älteren Zweigen sollten mit neueren verknüpft werden. Auf diese Weise können Sie Cross-Merging-Konflikte vermeiden. Also würde ich einen neuen Zweig von Kopf (Zweig B) erstellen. Dann würde ich in dieser Reihenfolge zusammenführen: Zweig A -> Zweig B -> Kopf

2

Es gibt offensichtlich einige Workflow, die zu vielen Headhachen führen wird.

Ich kam quer durch die gleiche Frage und fand diesen Artikel sehr interessant Bunny Hop

+0

Das ist Genie. Es ist im Wesentlichen Option B, in meinem Fall, nicht wahr? – Jordan

+0

Ja, es ist Ihre Option B – Kharaone

+0

Wie funktioniert das mit SVN> = 1.5 obwohl mit Merge-Tracking? – Jordan