Frage

Ist es möglich, mit einem Zweig zusammenzuführen, der in TFS kein direkter übergeordneter oder untergeordneter Zweig ist?Ich vermute, dass die Antwort „Nein“ lautet, da ich dies bei der Verwendung erlebt habe.Es scheint jedoch, dass es zu bestimmten Zeiten wirklich nützlich wäre, wenn an verschiedenen Funktionen gearbeitet wird, die möglicherweise unterschiedliche Genehmigungszyklen haben (z. B.Feature eins könnte müssen vor Feature zwei genehmigt werden).Dies wird äußerst schwierig, wenn wir Produktionszweige haben, in denen wir einige Funktionen in einen vorherigen Zweig zusammenführen müssen, damit wir sie vor der nächsten Vollversion veröffentlichen können.

Unsere aktuelle Verzweigungsstrategie besteht darin, im Stamm (oder der Hauptlinie, wie wir es nennen) zu entwickeln und einen Zweig zu erstellen, um ihn zu stabilisieren und für die Produktion freizugeben.Dieser Zweig kann dann zum Erstellen von Hotfixes und anderen Dingen verwendet werden, während der Hauptzweig für kommende Funktionen abweichen kann.

Welche Techniken können ansonsten eingesetzt werden, um ein Szenario wie das/die oben beschriebene(n) abzumildern?

War es hilfreich?

Lösung

Ich stimme Harpreet zu, dass Sie vielleicht noch einmal überdenken möchten, wie Sie Ihre Verzweigungsstruktur eingerichtet haben.Wenn Sie diese Art der Zusammenführung jedoch wirklich durchführen möchten, können Sie eine sogenannte unbegründete Zusammenführung durchführen.Es wird über die tfs-Eingabeaufforderung ausgeführt.

Tf merge /baseless <<source path>> <<target path>> /recursive

Weitere Informationen zu unbegründeten Zusammenführungen finden Sie hier Hier

Außerdem fand ich dieses Dokument beim Aufbau unserer TFS-Verzweigungsstruktur von unschätzbarem WertVerzweigungsleitfaden für Microsoft Team Foundation Server

Andere Tipps

tf.exe merge /recursive /baseless $/TeamProject/SourceBranch $/TeamProject/TargetBranch

Möglicherweise möchten Sie Ihre Verzweigungsstrategie überdenken.Wie bekommt man Produktionszweige?Führen Sie den gesamten Code aus Entwicklungszweigen zusammen, führen Regressionstests durch und erstellen dann einen Produktionszweig für Korrekturen?Oder entwickeln Sie sich am Stamm und schaffen dann Produktionszweige zur Stabilisierung und Freigabe?Der zweite Weg führt zu Problemen der Art, die Sie beschreiben.Wenn Sie den ersten Ansatz verwenden – der Stamm soll nur für Dinge gedacht sein, die auf getesteten und dann zusammengeführten Zweigen erstellt wurden, werden Sie viel seltener darauf stoßen.Wenn dieses Problem bei diesem Ansatz immer noch auftritt, liegt das möglicherweise daran, dass Ihr Entwicklungsaufwand sehr groß ist und Sie möglicherweise eine relativ komplexe Verzweigungsstrategie mit Ebenen der Verzweigung und Förderung benötigen.

AFAIK, Sie können dies tun, solange die Zweige aus demselben Originalordner erstellt wurden.

  • Stamm/
  • Verzweigungen/ -/feature1 (vom Stamm verzweigt) -/feature2 (vom Kofferraum verzweigt)

Wenn Sie dies tun, sollten Sie auch in der Lage sein, Feature1 und Feature2 zusammenzuführen.

Allerdings weckt meine Erfahrung mit der Verzweigung/Zusammenführung mit TFS in mir den Wunsch nach mehr.Ich wünschte, wir hätten einfach SVN.

Ja, Sie können eine unbegründete Zusammenführung durchführen, jedoch nur über die Befehlszeile (tf.exe).

TFS ermöglicht Ihnen die Zusammenführung mit einem Zweig, der kein über-/untergeordneter Zweig ist – dies wird als unbegründete Zusammenführung bezeichnet.Siehe diese Links:

Von MSDN

Vom TFS-Team über CodePlex

Normalerweise nehmen wir größere oder destabilisierende Änderungen an einem Entwicklungszweig vor.Wenn eine Hauptversion eines unserer Produkte kurz vor der Veröffentlichung steht, werden fast alle Änderungen in einem Zweig vorgenommen.

Ich bin alles andere als ein TFS-Experte, aber ich denke, man kann Geschwister zusammenführen, und ich denke, dass es keine unbegründete Zusammenführung ist.

Wir haben unseren Hauptzweig (Zweigname „main“) für ein Feature (Zweigname „feature“) abgezweigt, dann brauchte ich einen Teil der Arbeit in einem Zweig, der ebenfalls vom Hauptzweig (Zweigname „dev“) abgezweigt war.Ich würde Feature- und Dev-Branches als Geschwister betrachten, da sie beide vom selben Elternteil stammen.Ich habe Feature mit Dev zusammengeführt und alle Dateien (14000) wurden als „Zusammenführen“ markiert, einige wurden als „Zusammenführen, Bearbeiten“ markiert.Ich konnte nicht abbrechen (Visual Studio blieb einfach hängen), also habe ich die Zusammenführung akzeptiert.Dann habe ich „dev“ mit „main“ zusammengeführt, dann habe ich „main“ mit „feature“ gezogen, und wieder wurden 14.000 Dateien für die Zusammenführung 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 richten den Main ein und verzweigen dann Dev und Feature vom Main.Wir haben die obigen Schritte mit den gleichen Ergebnissen wiederholt.Sobald wir die Zusammenführung von Haupt- zu Feature-Dateien abgeschlossen hatten, zeigten alle zukünftigen Zusammenführungen nur die bearbeiteten Dateien an.

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. wechseln.

Mir ist aufgefallen, dass beim Verzweigen alle Dateidaten geändert wurden.Vielleicht ist das ein Problem?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top