TFS: Aktualisieren des Zweigs mit Änderungen von main

100

Wir haben also unsere Hauptentwicklungslinie, ich erstelle einen Zweig und Entwickler b erstellt einen Zweig. Wir machen beide etwas Arbeit. Entwickler b beendet seine Arbeit und verschmilzt wieder mit der Hauptentwicklungslinie. Ich weiß, dass seine Änderungen mich betreffen werden, und anstatt die Konflikte später zu behandeln, möchte ich meinen Zweig mit den Änderungen aktualisieren, die sich jetzt in der Hauptentwicklungszeile befinden, damit ich sie vor dem Zusammenführen in meinem Zweig behandeln kann zurück in die Hauptleitung.

Wie mache ich das?

CaffGeek
quelle

Antworten:

175

Öffnen Sie in Visual Studio den Versionsverwaltungs-Explorer:

  • Anzeigen | Team Explorer
  • Wählen Sie Ihr Teamprojekt im Team Explorer aus, erweitern Sie es und doppelklicken Sie auf Quellcodeverwaltung
  • Wählen Sie im linken Bereich des Versionsverwaltungs-Explorers Ihr Teamprojekt aus .
  • Suchen Sie im rechten Bereich Ihren Hauptzweig, klicken Sie mit der rechten Maustaste und wählen Sie Zusammenführen ...
  • In der Zielzweig Dropdown-Liste wählen Sie Ihre dev Zweig.
  • Wenn Sie eine Teilmenge aller Änderungen in der Hauptzeile wünschen:
    • Aktivieren Sie das Optionsfeld Ausgewählte Änderungssätze und klicken Sie auf Weiter .
    • Wählen Sie die Änderungssätze aus, die die Zusammenführung aus dem Zweig Ihres anderen Entwicklers in main darstellen, und klicken Sie auf Weiter .
  • Andernfalls behalten Sie alle Änderungen bis zu einer bestimmten ausgewählten Version bei und klicken Sie auf Weiter
    • Im nächsten Schritt müssen Sie einen Versionstyp auswählen. Die Standardversion " Neueste Version" ist offensichtlich unkompliziert und selbsterklärend: Sie würden alle Änderungen vornehmen, seit Ihr Zweig von der Hauptlinie bis in Ihren Zweig erstellt wurde. Die anderen Optionen sind unkompliziert, aber eine Erläuterung der hier verfügbaren Optionen in einem Tutorial würde ziemlich viel Platz in Anspruch nehmen.
    • Gehen Sie die verbleibenden Schritte des Assistenten durch.
  • Klicken Sie auf Fertig stellen .
  • Wenn Fehler oder Zusammenführungskonflikte auftreten, werden Sie aufgefordert, diese zu beheben, ähnlich wie beim Anzeigen Ihrer Änderungen in der Quellcodeverwaltung, wenn andere Änderungen seit dem letzten Auschecken vorgenommen wurden.
  • Nach Abschluss der Zusammenführung befinden sich alle Änderungen in Ihrer lokalen Kopie des Zweigs, sind jedoch noch nicht der Quellcodeverwaltung verpflichtet. Sobald Sie alle Builds und Tests in Ihrem Zweig abgeschlossen haben, können Sie die Zusammenführung einchecken. Aus Visual Studio:
    • Anzeigen | Andere Fenster | Ausstehende Änderungen
    • Stellen Sie sicher, dass alle mit dieser Zusammenführung verbundenen Dateien aktiviert sind, fügen Sie Kommentare hinzu, die die Zusammenführung beschreiben, und klicken Sie auf Einchecken .

Ich empfehle, Zusammenführungen (und alle erforderlichen Zusammenführungskonfliktlösungen, Build-Pausen, Testpausen) als eigenen Änderungssatz beizubehalten. Das heißt, mischen Sie keine andere Feature-Arbeit mit Zusammenführungen. Granulare Änderungssätze erleichtern das Überprüfen des Versionsverwaltungsverlaufs und das Erkennen einer einzelnen Änderung von Interesse erheblich. Wenn Sie die Zusammenführungsarbeit in ihrem eigenen Änderungssatz belassen, können Sie auf dieses Ziel hinarbeiten.

Es gibt auch eine Befehlszeile zum Zusammenführen, die tf merge /?über eine Visual Studio-Eingabeaufforderung ausgeführt wird.

Viel Glück und hab Spaß!

Andrew Brown
quelle
1
Hat perfekt funktioniert. Vielen Dank. Ich wollte nur sicherstellen, dass ich das richtig gemacht habe. Dies ist perfekt.
CaffGeek
Was wäre, wenn ich bei der Aufforderung zur Lösung von Konflikten einen Fehler bei der Lösung des Konflikts gemacht hätte und ihn nur für diese eine Datei korrigieren möchte? Ist es möglich, diese eine Datei zurückzusetzen und diese eine Datei erneut zusammenzuführen, um eine zweite Chance für das Zusammenführen von Konflikten zu erhalten?
Didier A.
Was ist, wenn ich ein bestimmtes Label aus dem Quell-Main in meinem Zielzweig zusammenführen möchte? Das gewünschte Etikett wird nach der ursprünglichen Verzweigungsoperation erstellt (nur aus Gründen der Übersichtlichkeit)
Simon Bosley