19 Stimmen

Filialübergreifende Zusammenführung in TFS?

Ist es möglich, in einen Zweig zusammenzuführen, der in TFS nicht direkt über- oder untergeordnet ist? Ich vermute, dass die Antwort "Nein" lautet, da ich diese Erfahrung bei der Verwendung des Systems gemacht habe. Es scheint jedoch zu bestimmten Zeiten sehr nützlich zu sein, wenn an verschiedenen Funktionen gearbeitet wird, die unterschiedliche Genehmigungszyklen haben können (z. B. Funktion eins könnte vor dem zweiten Merkmal genehmigt werden). Dies wird äußerst schwierig, wenn wir Produktionszweige haben, in denen wir eine Funktion in einen früheren Zweig einfügen müssen, damit wir sie vor der nächsten Vollversion freigeben können.

Unsere derzeitige Verzweigungsstrategie besteht darin, im Stamm (oder Mainline, wie wir es nennen) zu entwickeln und einen Zweig zur Stabilisierung und Freigabe für die Produktion zu erstellen. Dieser Zweig kann dann verwendet werden, um Hotfixes und andere Dinge zu erstellen, während die Hauptlinie für kommende Funktionen abweicht.

Welche Techniken können sonst eingesetzt werden, um ein Szenario wie das oben beschriebene zu entschärfen?

1 Stimmen

Heh, ich habe ein Upvote zu diesem Thema gesehen und wurde an meine Zeit mit TFS erinnert. Ich bin froh, dass ich mir seit meinem Wechsel zu Git vor etwa zwei Jahren keine Sorgen mehr über solche Dinge machen muss ;)

3 Stimmen

Falsch Joel, während Sie sich keine Sorgen über die technischen Einschränkungen machen müssen, Git ist besser beim Branching, müssen Sie sich immer noch über dysfunktionale Verhaltensweisen Sorgen machen... Diese Transend-Tools.

0 Stimmen

Ich würde Ihnen empfehlen, auf TFS 2013.3 / VSO zu aktualisieren und auf ein Git-basiertes Team Project zu migrieren.

1voto

Brian Stewart Punkte 8870

TFS erlaubt es Ihnen, mit einem Zweig zusammenzuführen, der kein Parent/Child-Zweig ist - dies wird als "baseless merge" bezeichnet. Siehe diese Links:

Von MSDN

Vom TFS-Team über CodePlex

Normalerweise nehmen wir größere oder destabilisierende Änderungen in einem Entwicklungszweig vor. Wenn wir kurz vor einer größeren Veröffentlichung eines unserer Produkte stehen, werden fast alle Änderungen in einem Zweig durchgeführt.

0voto

Iannazzi Punkte 1272

Ich bin bei weitem kein TFS-Experte, aber ich denke, man kann Geschwister zusammenführen, und ich denke, es ist keine grundlose Zusammenführung.

Wir haben unseren Hauptzweig (Zweigname "main") für eine Funktion (Zweigname "feature") abgezweigt, dann brauchte ich einen Teil der Arbeit in einem Zweig, der ebenfalls vom Hauptzweig abgezweigt war (Zweigname "dev"). Ich würde die Feature- und Dev-Zweige als Geschwister betrachten, da sie beide von demselben Elternteil abstammen. Ich habe den Feature-Zweig mit dem Dev-Zweig zusammengeführt und alle Dateien (14000) wurden als zusammengeführt markiert, einige als zusammenführen, bearbeiten. Ich konnte den Vorgang nicht abbrechen (Visual Studio blieb einfach hängen), also akzeptierte ich die Zusammenführung. Dann habe ich dev zu main zusammengeführt, dann habe ich main zu feature gezogen, und wieder waren 14000 Dateien zum Zusammenführen markiert. Ich war wirklich verärgert und hatte Angst, dass das so weitergehen würde.

Zu diesem Zeitpunkt haben wir ein Testprojekt durchgeführt. Wir richteten main ein und verzweigten dann dev und feature von main. Wir wiederholten die oben genannten Schritte mit den gleichen Ergebnissen. Sobald wir die Zusammenführung von main zu feature abgeschlossen hatten, wurden bei allen weiteren Zusammenführungen nur noch die bearbeiteten Dateien angezeigt.

Nach unserem kleinen Test habe ich die Zusammenführung von Main zu Feature abgeschlossen. Und genau wie beim Test zeigen unsere Zusammenführungen jetzt nur die bearbeiteten Dateien. Wir können von dev zu feature, von feature zu main, von main zu dev, usw. gehen.

Ich habe festgestellt, dass beim Verzweigen alle Dateidaten geändert wurden. Vielleicht ist das ein Problem?

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