Soll ich in TFS eine Verzweigung für eine Produktionsversion kennzeichnen oder erstellen?

8

Wenn ich eine Bereitstellung für die Produktion vorstelle, sollte ich meinen Code mit einem Label versehen oder eine Verzweigung für den Code erstellen, der gerade produziert wird?

    
loyalflow 28.02.2013, 18:49
quelle

5 Antworten

15

In TFS hätte ich einen Release-Zweig mit einem Label, der die spezifische Version angibt, die für die Produktion freigegeben wird.

Was bedeuten würde, dass Sie andere Zweige haben, kann ich Folgendes vorschlagen:

  • Drei Hauptzweige: Main, Develop, & amp; Freisetzung.
  • Ein Hotfix-Zweig für Ihr aktuelles Feuer.
  • 0 bis N Hauptfunktionszweige, um die Unterbrechung der Entwicklung zu verhindern.

Details

  • Hauptzweig
    • Enthält die neuesten stabilen Builds
    • Tag / Label für jede Veröffentlichung
  • Zweig entwickeln
    • Verzweigt vom Main
    • Wo die meiste Arbeit erledigt ist
    • Verschmelzen Sie vor der Veröffentlichung mit Main
  • Zweig freigeben
    • Verzweigt von einem der folgenden Punkte:
      • Der Zweig Entwickeln
      • ODER der Hauptzweig (das ist vielleicht besser, weil es "stabil" ist)
    • Bugfixes sind hier gemacht
    • Nachdem Fixes getestet und veröffentlicht wurden,
      • fusionieren zu Zweig entwickeln
      • ODER fusionieren Sie mit dem Hauptzweig und leiten Sie dann integrate (FI - das ist eine Zusammenführung von Eltern zu Kind) nach Develop
      • weiter
    • Tag / Label für jede Version oder Fehlerbehebung
  • Hotfix-Zweig
    • Verzweigt von Main
    • Zusammengeführt in Main
    • Vorwärtsintegration zu Develop
    • weiterleiten
    • Wird verwendet, damit Main "stabil" bleibt
  • Hauptfunktionszweige
    • Verzweigt von Develop
    • Zusammengeführt in Develop
    • Wird für Hauptfunktionen verwendet, die möglicherweise den regulären Entwicklungspfad stören könnten.

Referenzen:

yeOldeDataSmythe 02.07.2014 15:07
quelle
2

Idealerweise beides.

Sie möchten wahrscheinlich ein Label haben, damit Sie genau wissen, was Sie für ein bestimmtes Release geliefert haben. Wahrscheinlich möchten Sie jedoch auch einen Zweig erstellen, damit Sie kleinere Korrekturen an den veröffentlichten Releases vornehmen und ein neues Release erstellen können.

    
Edward Thomson 28.02.2013 19:04
quelle
1

In der Praxis können Sie sich auf zwei Arten nähern:

  • Haben Sie eine kontinuierliche Entwicklungszeitleiste, die für jede Ihrer Produktionsfreigaben verzweigt wird:

Beispiel:

%Vor%
  • Lassen Sie Ihre Produktionsfreigaben "Kaskade" voneinander trennen:

Beispiel:

%Vor%

Letztlich liegt es bei Ihnen zu entscheiden, welche Architektur zu übernehmen ist, solange sie konsistent ist und für Sie Sinn ergibt.

    
ryrich 28.02.2013 19:01
quelle
1

Sie können eine Kombination aus beidem verwenden. So machen wir das intern für alle Projekte.

Wir haben Struktur mit Ordner Zweige und Unterordner für jede Neben- und Hauptversion. Wir verwenden auch Labels, die wir auf einzelne Unterordner setzen, so dass wir jederzeit in Zukunft jede spezifische Version neu erstellen können.

%Vor%

Sie können auch Visual Studio Team Foundation Server-Handbuch zum Verzweigen und Zusammenführen für weitere Details herunterladen.

    
Kenneth Hampton 04.03.2013 11:39
quelle
0

Ich habe beide gesehen, Etikettierung ist leichter und für mich einfacher. Es wurde jedoch darauf hingewiesen, dass Etiketten leicht gelöscht werden können. Ein Zweig schützt dagegen, indem er nicht wirklich gelöscht wird, es sei denn, er wird "zerstört". Der Grund, warum ich keine Zweige verwende, ist, dass ich es hasse, sie zu verschleiern, da ich dazu tendiere, das Neueste von der Wurzel zu bekommen und nicht will, dass all diese Zweige meine Festplatte füllen.

Zur Erinnerung, da ich darauf hingewiesen wurde, dass das Label gelöscht wird, habe ich die Berechtigungen für die Kennzeichnung von allen außer Admins und den Build-Service-Accounts entfernt, um das zu verringern.

    
Alex 28.02.2013 19:01
quelle

Tags und Links