Zusammenführen und Lösen von Konflikten beim Einchecken von Dateien
Konflikte können beim Einchecken von Dateien unter folgenden Bedingungen auftreten:
Der Datumsstempel der Datei ist älter als die Version, die beim Team Foundation-Server eingecheckt ist. Dieses Problem kann auftreten, falls Sie versuchen, eine ältere Version der Datei einzuchecken.
In dem Zeitraum, in dem Sie die aktuelle Dateiversion ausgecheckt und wieder einzuchecken versucht haben, haben andere Teammitglieder bereits Änderungen eingecheckt. In diesem Fall können zwei Änderungsarten auftreten (sogar bei derselben Datei).
Falls Sie andere Zeilen in der Datei geändert haben als die anderen Teammitglieder, werden diese als einfache Änderungen eingestuft und können automatisch mithilfe der Funktion Alle automatisch zusammenführen zusammengeführt werden.
Falls Sie die gleichen Zeilen wie die anderen Teammitglieder geändert haben, werden diese Änderungen als Konflikte eingestuft. Konflikte sind weitaus komplexer und müssen manuell gelöst werden.
Auf den ersten Blick kann das Lösen von Konflikten schwierig erscheinen. Es ist jedoch hilfreich, sich die unterschiedlichen Arten von Dateikonflikten und Lösungen vor Augen zu führen. Weitere Informationen finden Sie unter Grundlagen zu Dateiunterschieden und Konflikttypen in MSDN. Außerdem finden Sie unter diesem Thema Hinweise darauf, was beim Lösen von Konflikten in Microsoft Expression Blend oder Microsoft Visual Studio Team System Team Explorer angezeigt wird.
Verwenden des Dialogfelds Konflikte lösen
Wenn beim Einchecken Konflikte auftreten, haben Sie zunächst zwei Optionen:
Alle automatisch zusammenführen Führt alle Konflikte automatisch zusammen. Die von der Funktion zum automatischen Zusammenführen verwendeten Zusammenführungsoptionen sollten bereits vom Microsoft Team Foundation-Serveradministrator in Visual Studio 2010 Team System konfiguriert sein.
Die Funktion zum automatischen Zusammenführen ist nur verfügbar, wenn Sie Änderungen an anderen Zeilen der Datei vornehmen als andere Teammitglieder, da die Änderungen sonst einfach zusammengeführt werden können. Konflikte müssen jedoch manuell gelöst werden.
Hinweis: Falls der Konflikt bei dem Versuch verursacht wurde, eine ältere Version der Datei einzuchecken, wird bei der Funktion zum automatischen Zusammenführen in der Regel kein Inhalt aus der älteren Version verwendet, da die Standardeinstellung für diese Funktion auf die aktuellste Datei ausgerichtet ist. Weitere Informationen zur richtigen Vorgehensweise beim Wiederherstellen einer älteren Dateiversion finden Sie unter Gewusst wie: Ausführen eines Rollbacks für ein Changeset in MSDN.
Lösen Löst die Konflikte manuell. Das Dialogfeld Versionskonflikt lösen wird angezeigt, in dem folgende Optionen verfügbar sind :
Änderungen zusammenführen Verwendet die Funktion für das automatische Zusammenführen. Diese Option ist deaktiviert, wenn Expression Blend erkennt, dass Sie die gleichen Zeilen in einer Datei geändert haben wie ein anderes Teammitglied.
Änderungen im Tool zusammenführen Fordert Sie auf, die zu akzeptierenden Änderungen zu bestimmen. Wenn diese Option ausgewählt ist, wird das Tool zum Zusammenführen angezeigt. Weitere Informationen finden Sie im folgenden Abschnitt "Verwenden des Tools zum Zusammenführen".
Lokale Änderungen rückgängig machen Verwirft die von Ihnen an der Datei vorgenommenen Änderungen und stellt den Inhalt der Datei (jedoch nicht den Datumsstempel) wieder her, sodass dieser der aktuellsten Version auf dem Team Foundation-Server entspricht.
Serveränderungen verwerfen Wendet nur Ihre Änderungen an. Wenn Sie die Datei einchecken, werden Änderungen verworfen, die von anderen Teammitgliedern gemacht wurden, solange Sie die Datei ausgecheckt hatten. Verwenden Sie diese Option, wenn Sie eine frühere Version einer Datei wiederherstellen möchten. Weitere Informationen zur richtigen Vorgehensweise beim Wiederherstellen einer älteren Dateiversion finden Sie unter Gewusst wie: Ausführen eines Rollbacks für ein Changeset in MSDN.
Achtung: Informieren Sie die Teammitglieder, dass Sie deren Änderungen rückgängig machen, bevor Sie diese Option verwenden.
Vergleichen Zeigt ein Fenster mit den Unterschieden zwischen zwei der drei folgenden Dateiversionen an: Ihrer lokalen Kopie, der Kopie, die als letzte von einem Teammitglied eingecheckt wurde, während Sie die Datei ausgecheckt hatten, und der Originaldatei, bevor diese von Ihnen oder einem anderen Teammitglied ausgecheckt wurde. Der Versionsvergleich ist hilfreich dabei, zu entscheiden, ob Sie die lokalen Änderungen rückgängig machen, die Serveränderungen verwerfen oder Konflikte mit dem Tool zum Zusammenführen zusammenführen und lösen möchten.
Tipp: |
---|
Sie sollten daran denken, (F5) auszuführen und ausstehende Dateiänderungen einzuchecken oder rückgängig zu machen, wenn Sie Konflikte gelöst haben und bevor Sie andere Quellcode-Verwaltungsaufgaben durchführen. Falls Sie beispielsweise eine bestimmte Dateiversion abrufen möchten, wenn Sie die Konflikte gelöst, die Datei jedoch noch nicht eingecheckt haben, werden Sie aufgefordert, die Konflikte erneut zu lösen. Die Beschreibung der Konflikte im Dialogfeld Konflikte lösen lautet "Es liegt eine widersprüchliche ausstehende Änderung vor". |
Verwenden des Tools zum Zusammenführen
Mit dem Tool zum Zusammenführen haben Sie am meisten Kontrolle, da Sie einzelne widersprüchliche Zeilen auswählen und für die zusammengeführte Datei übernehmen oder verwerfen können.
Oben im Tool zum Zusammenführen werden die unterschiedlichen Dateiversionen in zwei Fenstern angezeigt. Die Version, die von dem anderen Teammitglied eingecheckt wurde, während Sie die Datei ausgecheckt hatten, wird links angezeigt. Ihre lokale (noch nicht eingecheckte) Kopie wird rechts angezeigt. In jedem Fenster werden die Zeilen, die sich gegenüber der Originaldatei geändert haben, bevor diese von Ihnen oder einem anderen Teammitglied ausgecheckt wurde, farbig markiert. Rote Zeilen stellen gelöschten Text, grüne Zeilen eingefügten Text und blaue Zeilen geänderten Text dar. Falls in den beiden oberen Fenstern im Tool in beiden Dateien die gleiche Zeile als geändert angezeigt wird, gilt diese Änderung als Konflikt.
Unten im Tool zum Zusammenführen wird ein drittes Fenster angezeigt. Anfangs wird in diesem Fenster die Originalversion der Datei angezeigt, für die die nicht widersprüchlichen Änderungen der beiden Dateien in den oberen Fenstern im Tool übernommen wurden.
Eine Zeile, die in Ihrer lokalen Version und in der derzeit eingecheckten Version geändert wurde, stellt einen Konflikt dar, der manuell gelöst werden muss. |
|
Die Originalversion der widersprüchlichen Zeile. |
|
Eine Zeile, die von Ihnen hinzugefügt wurde und bereits für die zusammengeführte Datei unten übernommen wurde. |
|
Eine Zeile, die in der zuletzt eingecheckten Datei geändert wurde und keinen Konflikt mit Ihren Änderungen darstellt. Diese Zeile wurde bereits für die zusammengeführte Datei unten übernommen und kann nicht verworfen werden. |
|
Eine Zeile, die in der derzeit eingecheckten Version verworfen wurde. Sie können diese Änderung nicht rückgängig machen, da kein Konflikt mit Ihrer lokalen Version besteht. |
Konflikte, die im unteren Fenster durch ein umgebendes Rechteck markiert sind, müssen manuell gelöst werden. Führen Sie einen der folgenden Schritte aus, um die Änderung einer der beiden Dateien im oberen Fenster zu akzeptieren:
Klicken Sie auf die Zeile, deren Änderung Sie für die Datei unten (siehe folgende Abbildung) übernehmen möchten.
Klicken Sie mit der rechten Maustaste auf die Zeile, deren Änderung Sie übernehmen möchten, und klicken Sie dann auf Änderung übernehmen.
Klicken Sie mit der rechten Maustaste auf die Originalzeile in der Datei unten und anschließend auf Änderung links übernehmen oder Änderung rechts übernehmen.
Führen Sie einen der folgenden Schritte aus, um eine übernommene Änderung zu verwerfen:
Klicken Sie auf eine Zeile, deren Änderung bereits von einer der Dateien oben übernommen wurde.
Klicken Sie mit der rechten Maustaste auf die Zeile, deren Änderungen bereits übernommen wurden, und klicken Sie dann auf Änderung verwerfen.
Klicken Sie mit der rechten Maustaste auf die Originalzeile in der Datei unten und anschließend auf Änderungen für diesen Konflikt verwerfen.
Wenn Sie Konflikte aus den beiden oberen Fenstern übernommen oder verworfen haben, wird das untere Fenster mit Ihrer Auswahl aktualisiert.
Eine der widersprüchlichen Zeilen. Klicken Sie auf die Zeile, die Sie für die zusammengeführte Datei übernehmen möchten. |
|
Die aktualisierte Version der widersprüchlichen Zeile. |
Wenn Sie die Option Beide Änderungen übernehmen auswählen, werden beide Zeilen im unteren Fenster angezeigt, was zu Erstellungsfehlern führen kann. Dennoch kann diese Option hilfreich sein, wenn Sie die beiden Zeilen im unteren Fenster vergleichen möchten. Sie können eine der Zeilen im unteren Fenster verwerfen, sobald Sie den Vergleich abgeschlossen haben.
Sie können jederzeit alle Zeilen übernehmen, die der Serverversion der Datei oder Ihrer lokalen Datei widersprechen. Klicken Sie hierzu im Tool zum Zusammenführen mit der rechten Maustaste, wählen Sie Alle Konflikte lösen aus und klicken Sie dann auf Mit Änderungen rechts oder Mit Änderungen links. Dies gilt nur für widersprüchliche Zeilen. Nicht widersprüchliche, geänderte Zeilen werden nicht verworfen.
Klicken Sie auf OK, um das Tool zum Zusammenführen zu verlassen. Klicken Sie anschließend auf Ja , um die Datei zu speichern, und auf Schließen, um das Dialogfeld Konflikte lösen zu schließen. Sie sollten die zusammengeführte Datei testen, indem Sie die Projektmappe erstellen (STRG+UMSCHALT+B) oder Ausführen (F5), bevor Sie die Datei einchecken.
Eine Kurzanleitung zum Verwenden des Tools zum Zusammenführen finden Sie unter Gewusst wie: Lösen von Konflikten zwischen zwei Dateien in MSDN.
Anzeigen der Liste von Dateien, die Konflikte enthalten
Falls Sie versuchen, Dateien einzuchecken und das Dialogfeld Konflikte lösen zu schließen, ohne die Konflikte zu lösen, werden diese Dateien vom Quellcodeverwaltungssystem nachverfolgt. Sie können jederzeit mit der rechten Maustaste auf das Projektpanel anschließend auf Konflikte lösen klicken, um alle Dateien anzuzeigen, die noch nicht gelöste Konflikte enthalten.
Siehe auch
Aufgaben
Anzeigen und Vergleichen von Dateiänderungen
Ein- und Auschecken von Dateien
Copyright © 2011 Microsoft Corporation. Alle Rechte vorbehalten.