Keine Angst vor dem Mergen…

Immer wieder sehe ich, dass Entwickler Probleme mit dem Mergen von Code im Repository haben. Das Mergen ist aber kein mystischer Vorgang, bei dem uns der TFS unseren Code zerstört. Das Mergen ist einfach nur das Zusammenführen von Änderungen mehrerer Personen an denselben Dateien. Wenn z.B. zwei Entwickler einer Klasse je eine Funktion hinzufügen, dann meldet der TFS einen Konflikt.


Die Funktionen “Keep Local Version” und “Take Server Version” dienen nur zum Zurücksetzen und spielen hier keine Rolle. Ein Klick auf “Merge Changes In Merge Tool” öffnet das Mergetool. In den oberen beiden Fenstern sieht man die Änderungen: lokal (Yours) und vom Server (Theirs). Im unteren Fenster sieht man die fertige Datei.


Wenn hier beide Funktionen übernommen werden sollen, dann muss man einfach nur jede Änderungen aus dem Kontextmenü mit “Apply Change” anwenden. Im untern Fenster kann man dann die Änderungen sehen.


Nach Bestätigung auf OK sind die Änderungen LOKAL verfügbar. Jetzt muss man den Merge testen: Build erstellen, Codeanalyse und UnitTests durchführen etc. Dieser Teil wird oft vergessen oder vernachlässigt! Sind alle Tests erfolgreich, dann können die Änderungen eingecheckt werden.

Eine sehr komfortable Version ist der AutoMerge. Wenn dieser aktiviert ist, dann kann sie problemlos benutzen werden. Wenn der TFS Änderungen nicht automatisch zusammenführen kann, dann ist die Funktion deaktiviert und der Merge muss von Hand durchgeführt werden.


Probleme beim Mergen werden oft durch veränderte Projektdateien (.csproj) verursacht. Dabei verhalten sich diese Dateien genau wie anderen auch. Im Beispielprojekt wurde von 2 Entwicklern je eine Datei hinzugefügt:


Man muss jetzt nur über Apply Both Changes…


beide Dateien übernehmen. Fertig.


Auch komplexe Änderungen lassen sich so einfach zusammenführen. Gelöschter Text wird immer rot angezeigt. Blau sind Änderungen. Hinzugefügte Elemente werden grün angezeigt. Mit gedrückter Ctrl./STRG Taste können mehrere Änderungen selektiert und dann “Apply Change” angewendet werden.


Wie man in folgender Abbildung sieht, wurden alle Änderungen sauber zusammengeführt.


Weiterführende Informationen finden Sie auf MSDN:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s