2016-07-07 9 views
0

Wir haben einen einfachen Verzweigungsprozess, in dem wir einen Hauptzweig haben, der als Quellcode für die Produktion gedacht ist. Wir haben auch eine oder mehrere Zweige von Main, die Entwicklungszweige sind. Wir haben Notfall-Fixes, die in Main, aber möglicherweise nicht in einer oder mehreren der Entwicklungszweigen gehen. Von Zeit zu Zeit, und gerade bevor wir eine Entwicklungsabteilung nach Main promoten, verschmelzen wir von Main mit der Entwicklungsabteilung, um sicherzustellen, dass alles von Main in der Branche ist. Dieses Mal war alles da, also war keine Aktion nötig. Wir fusionierten dann vom Entwicklungszweig zum Main, natürlich identifizierten wir alle Dateien, die wir im Entwicklungszweig geändert hatten, aber es gab auch eine kleine Anzahl von Konflikten. Jetzt, da wir gerade erfolgreich von Main zur Filiale fusioniert waren, habe ich das nicht erwartet. Untersuchung zeigte den folgenden Verlauf für eine der Dateien, die einen Konflikt hatten.TFS2013 Zusammenführung der Verzweigung

In Haupt

enter image description here

In Entwicklungszweig

In development branch

Es schien ein Update in dem Entwicklungszweig gemacht wurde (10917) und fusionierte dann Main (11090). Aus irgendeinem Grund, wenn wir zu der Verzweigung zusammenführen, wird die vorherige Zusammenführung (11090) nicht erkannt und wird daher als ein Konflikt angezeigt, wenn wir versuchen, zu Main zusammenzuführen. In der Praxis ist der Code in beiden Zweigen der gleiche, aber es verursacht zusätzliche Arbeit, da wir Änderungen untersuchen müssen, die nicht vorhanden sind.

Kann nicht sehen, warum dies nicht zusammengeführt wurde? Ist unser Prozess schuld?

+0

Eine Sache, wähle ich eine Menge zu sehen ist, dass die Menschen die Zusammenführung zu tun, aber tatsächlich vergessen zu überprüfen es danach, was dann zu seltsamen Konflikten führt. –

+0

Nicht in diesem Fall. Vor der Zusammenführung sorge ich dafür, dass keine ausstehenden Änderungen vorliegen. Dies stellt sicher, dass ich klar erkenne, was die Zusammenführung macht. –

+0

Ziehen Sie den letzten Schritt auf main, bevor Sie die Zusammenführung durchführen? –

Antwort

0

Ich denke, das wird dadurch verursacht, dass Sie den letzten Zweig der Hauptniederlassung nicht bekommen haben, bevor Sie versuchen, zum Entwicklungszweig zusammenzuführen. Stellen Sie sicher, dass Sie die neuesten Haupt- und Entwicklungszweige vor der Zusammenführung erhalten haben.

Das nächste Mal können Sie direkt bestimmte entstellst fusionieren, Sie ausgewählt Changesets auswählen können dann 11090.

enter image description here

+0

Ich habe immer geglaubt, dass die Quelle einer Zusammenführung der Server und kein Arbeitsbereich ist. Wie auch immer, ich habe das nirgends aufgeschrieben gesehen, also habe ich versucht, die neuesten Quellen- und Ziel-Merge-Speicherorte zu erhalten, und wieder hat es die Changesets ignoriert, die zuvor mit Main zusammengeführt wurden. Ich habe auch versucht, Selected Changesets zu verwenden, und das kam mit einer Nachricht, die besagt, dass "keine Changesets von Quelle zu Ziel zusammenführen können". –

Verwandte Themen