TFS-Wie funktioniert die Zusammenlegung funktioniert?
Habe ich eine release-Zweig (RB, ab C5) und ein änderungssatz auf Stamm (C10), dass will ich jetzt fahren Sie auf die RB.
Die Datei änderungen an C3 (gemeinsam), eine in der CS 7 auf RB und eine in C9 (trunk) und eine in C10). So die Geschichte für meine veränderte Datei sieht wie folgt aus:
RB: C5 -> C7
Trunk: C3 -> C9 -> C10
Wenn ich merge C10 vom Stamm RB, ich würde erwarten, dass der merge-Fenster zeigt mir
C10 | C3 | C7
da C3 ist der gemeinsame Vorfahre, revision und C10 und C7 sind die Tipps meiner beiden Zweige jeweils. Aber mein merge-tool zeigt mir C10 | C9 | C7
.
My-merge-tool konfiguriert ist, um zu zeigen %1(OriginalFile)|%3(BaseFile)|%2(Modified File)
, also das sagt mir TFS wählte C9 als die base-revision.
Dies ist völlig unerwartet und ganz im Gegensatz zu der Art, wie ich bin gewohnt, führt die Arbeit mit Mercurial oder Git. Habe ich etwas falsch gemacht oder ist TFS versuchen zu fahren mich Nüsse mit der Zusammenführung?
Ist dies die Standard-TFS-Merge-Verhalten? Wenn dem so ist, können Sie einen Einblick geben, warum Sie wählte, um es zu implementieren auf diese Weise?
Ich bin mit TFS 2008 mit VS2010 als Client.
- Was passiert, wenn Sie verwenden das standard-merge-tool (so entfernen Sie die konfigurierten user-tool)?
- Hofman: Es ist die gleiche Sache (neben der Standard-TFS-merge-Tool ist Mist), es ist also definitiv unreleated an das merge-tool verwendet wird.
- Macht Sie (oder sonst jemand) in der Lage, mir die Frage zu beantworten?
- Die TFS-version?
- TFS 2008. Verwenden Sie mit Visual Studio 2010.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich einige ähnlich ersten Kämpfe mit TFS branching und merging (Wir haben dev, - integration und-äste).
Kurze version ist, dass man nicht direkt fusionieren zurück von einer Spitze zu einem gemeinsamen Vorfahren.
Also wenn C3 verzweigt wurde auf C5, dann C7 war verzweigte C9, was das tool bietet, macht Sinn in dem Zusammenhang, wie TFS funktioniert. Sie im Grunde brauchen, um zu gehen von C10/C9-C7 dann von C7 zu C3.
Um es einen anderen Weg, mit einer mehr konkreten Beispiel, hier ist, wie wir damit umgehen, multi-level-branching und merging in unsere Projekte.
Beginnen wir mit dem Stamm/main.
Wir dann Verzweigung zu einer integration Zweig.
Wir dann (und dies ist der Schlüssel -) Zweig, die sich aus der integration in unsere individuelle dev Zweigen, so können wir die Arbeit auf kommende releases.
Änderungen sind vollständig in einen dev-branch, den wir zuerst reverse-Integration durch die Zusammenführung von integration zu unserem dev-Zweig (also wir Holen alle anderen änderungen). Wir haben dann vorwärts integrieren, indem Sie aus unseren individuellen dev-Zweig für die gemeinsame integration Zweig.
Einmal integration geht QA, die wir dann reverse Integration durch die Zusammenführung von Stamm-integration (nur für den Fall dort sind keine hotfixes in main), dann weiter die Integration aller von der kombinierten änderungen in der integration hinunter zum main.
Am release-Tag, machen wir eine Letzte Zweig von der Haupt-in einen neuen release-Zweig, die wir dann bereitstellen.
Grundsätzlich in TFS haben Sie immer zu gehen nach oben und unten die branching - /merging-Baum vom Stamm des Körpers zu ast, Blatt - können Sie jederzeit umgehen, die den Schritt in die Niederlassung bietet.
Metaphorisch, TFS verzweigen und Zusammenführen ist mehr wie Faultier kriecht auf einen Baum und langsam auf das Ende des Zweiges, ohne jemals zu lassen, verlieren Sie den Griff gegen ein Affe hopping zwischen Zweigen 😉
Dauert ein wenig gewöhnungsbedürftig, aber einmal erledigt (und vor allem, wenn Sie ' re verwendet, um die vorwärts-Integration - /rückwärts-Integration-Paradigma) es arbeitet ein Genuss, vor allem, wenn Sie mehrere Leute auf der Entwicklung und Sie müssen wickeln alle änderungen, ohne die Dinge stampfte vorbei.
Hoffe, das hilft!
ich war auf der Suche rund um diese Website vor und stieß auf diese Seite, ist das hilfreich?
Wie verzweigen und Zusammenführen in TFS
Ich denke, Sie könnte haben einen falschen merge-Methodik, denn was Sie beschreiben, ist völlig möglich, und es funktioniert für mich. Aber Sie haben immer zu erinnern, wenn Sie beginnen Abzweigung der wichtigste Zweig ist zu tun ordnungsgemäße RI (Rückwärts-Integration), und FI (forward integration). Haben Sie eine Suche codeplex für die Verzweigung Richtlinien und best practices.
Im wesentlichen änderungen, die fiel zurück auf den main-branch zu RI würde sich wieder auf Ihre anderen Filialen vor der Verschmelzung zurück. Dies ist die beste Praxis und funktioniert jedes mal, danach, Sie können weiterhin FI-Zweig zurück zum Haupt-Stamm.