Grundlagen zu Dateiunterschieden und Konflikttypen

Aktualisiert: November 2007

In Softwareentwicklungsteams, in denen mehrere Personen an dem gleichen Projekt arbeiten, treten häufig Dateiunterschiede auf und verursachen Konflikte. Mit Team Foundation-Versionskontrolle können Sie diese Konflikte lösen. Konflikte können während der folgenden Vorgänge auftreten:

  • Zusammenführen von Änderungen zwischen Verzweigungen

  • Abrufen von Dateien in den Arbeitsbereich

  • Einchecken von neuen Dateiversionen

Konflikttypen

Dieses Thema enthält Informationen über die folgenden Konflikttypen:

Versionskonflikt

Dateinamenkonflikt

Konflikt aufgrund lokalen Überschreibens

Versionskonflikt

Versionskonflikte können in der Team Foundation-Versionskontrolle beim Einchecken, Abrufen oder Zusammenführen auftreten. In jedem Fall führt die Weiterentwicklung eines Elements auf unterschiedlichen Wegen zu einem Konflikt.

  • Einchecken   Zwei Benutzer checken die neueste Version einer Datei aus. Der erste Benutzer checkt Änderungen ein, wodurch eine neue Version der Datei erstellt wird. Wenn der zweite Benutzer Änderungen einzuchecken versucht, tritt ein Versionskonflikt auf, da die Änderungen des zweiten Benutzers nicht anhand der neuesten Version der Datei durchgeführt wurden.

  • Abrufen   Zwei Benutzer checken die neueste Version einer Datei aus. Der erste Benutzer checkt Änderungen ein, wodurch eine neue Version der Datei erstellt wird. Wenn der zweite Benutzer die letzte Version abruft, tritt ein Versionskonflikt auf, da beim Abrufen der letzten Version versucht wird, die ausgecheckte Datei im Arbeitsbereich zu aktualisieren.

  • Zusammenführen   Eine verzweigte Datei wurde in beiden Verzweigungen geändert. Ein Benutzer versucht, Änderungen in einer Verzweigung mit der anderen Verzweigung zusammenzuführen. Ein Versionskonflikt tritt auf, da die Datei in beiden Verzweigungen geändert wurde.

Beim Auflösen von Versionskonflikten werden Änderungen zusammengeführt, oder ein Satz von Änderungen wird anstelle eines anderen Satzes von Änderungen ausgewählt. Weitere Informationen finden Sie unter Gewusst wie: Lösen von Konflikten zwischen zwei Dateien.

Versionskonflikte

Lokale Änderung/Quellenänderung

Serveränderung/Zieländerung

Auflösungsoptionen

(Abrufen oder einchecken)

Auflösungsoptionen

(Zusammenführen)

Bearbeiten

Umbenennen

Wiederherstellen

Bearbeiten

Umbenennen

Wiederherstellen

Änderungen zusammenführen (wenn keine Konflikte vorhanden sind)

Änderungen im Tool zusammenführen

Lokale Änderungen rückgängig machen

Serveränderungen verwerfen

Änderungen zusammenführen (wenn keine Konflikte vorhanden sind)

Änderungen im Tool zusammenführen

Änderungen in Zielverzweigung beibehalten

Element aus Quellverzweigung kopieren   Dies ist die Standardauswahl.

 

Löschen

Datei wiederherstellen und Änderungen selbstständig zusammenführen (wenn keine Konflikte vorhanden sind)

Datei wiederherstellen und Änderungen im Tool zusammenführen

Lokale Änderungen rückgängig machen

Datei wiederherstellen, aber meine Änderungen beibehalten

Datei wiederherstellen und Änderungen selbstständig zusammenführen (wenn keine Konflikte vorhanden sind)

Datei wiederherstellen und Änderungen im Tool zusammenführen

Änderungen aus Quellverzweigung verwerfen

Element aus Quellverzweigung kopieren

Löschen

Bearbeiten

Umbenennen

Wiederherstellen

Lokale Änderungen rückgängig machen

Serveränderungen verwerfen

Änderungen aus Quellverzweigung verwerfen

Element in Zielverzweigung löschen

 

Löschen

Lokale Änderungen rückgängig machen

Änderungen aus Quellverzweigung verwerfen

 

 

 

Diese Konflikte überspringen (Gibt an, dass Konflikte dieses Typs nicht behandelt werden.)

Dateinamenkonflikt

Dateinamenkonflikte können in der Team Foundation-Versionskontrolle beim Einchecken, Abrufen oder Zusammenführen auftreten. In allen drei Fällen wird der Konflikt verursacht, wenn mindestens zwei Elemente denselben Pfad auf dem Quellcodeverwaltungsserver zu verwenden versuchen.

  • Einchecken   Zwei Benutzer fügen derselben Anwendung jeweils eine Datei hinzu. Zufällig wählen die zwei Benutzer denselben Namen für die neuen Dateien aus. Ein Benutzer checkt eine eigene Datei ein. Wenn der zweite Benutzer einen Eincheckversuch macht, tritt ein Dateinamenkonflikt auf.

  • Abrufen   Zwei Benutzer fügen einer Anwendung Dateien mit identischen Namen hinzu. Ein Benutzer checkt die Datei ein. Wenn der zweite Benutzer die letzte Version abruft, tritt ein Dateinamenkonflikt auf. Der Grund hierfür ist, dass die Datei des ersten Benutzers nicht abgerufen werden kann, wenn der zweite Benutzer eine Datei hinzugefügt hat.

  • Zusammenführen   Eine Anwendung wurde verzweigt und anschließend in beiden Verzweigungen bearbeitet. In beiden Verzweigungen wurde eine Datei mit demselben Namen hinzugefügt. Ein Benutzer versucht, Änderungen in einer Verzweigung mit der anderen Verzweigung zusammenzuführen. Ein Dateinamenkonflikt tritt auf, da die der Quellverzweigung hinzugefügte Datei nicht verzweigt werden kann, wenn der Zielverzweigung bereits eine Datei hinzugefügt wurde.

Dateinamenkonflikte können durch jeden Vorgang verursacht werden, bei dem Elemente im Serverpfadnamespace hinzugefügt oder verschoben werden. Hierzu zählen das Hinzufügen, Umbenennen, Verzweigen, Wiederherstellen und Zusammenführen.

Beim Lösen von Dateinamenkonflikten muss das Element ausgewählt werden, das letztlich den Serverpfad der Quellcodeverwaltung einnimmt. Weitere Informationen finden Sie unter Gewusst wie: Lösen von Konflikten zwischen zwei Dateien.

Dateinamenkonflikte

Lokale Änderung/Quellenänderung

Serveränderung/Zieländerung

Auflösungsoptionen (abrufen oder einchecken)

Auflösungsoptionen (zusammenführen)

Hinzufügen

Verzweigen

Umbenennen

Wiederherstellen

Hinzufügen

Verzweigen

Umbenennen

Wiederherstellen

Lokale Änderungen rückgängig machen

Konflikt ignorieren

Änderungen aus Quellverzweigung verwerfen

Konflikt ignorieren

 

 

 

Diese Konflikte überspringen (Gibt an, dass Konflikte dieses Typs nicht behandelt werden.) Dies ist die Standardauswahl.

Konflikt aufgrund lokalen Überschreibens

Konflikte aufgrund lokalen Überschreibens treten in der Team Foundation-Versionskontrolle nur während eines Abrufvorgangs auf. Diese Konflikte werden verursacht, wenn bei einem Abrufvorgang versucht wird, eine überschreibbare Datei im Arbeitsbereich zu überschreiben. Standardmäßig werden durch den Abrufvorgang nur schreibgeschützte Dateien ersetzt. Beim Lösen von Konflikten aufgrund lokalen Überschreibens wird entweder die Datei überschrieben, oder die Datei wird ausgecheckt, und Änderungen werden zusammengeführt.

Überschreibbare Dateien

Lokale Änderung/Quellenänderung

Serveränderung/Zieländerung

Auflösungsoptionen (abrufen oder einchecken)

Auflösungsoptionen (zusammenführen)

Nicht zutreffend

Nicht zutreffend

Überschreiben einer lokalen Datei/eines lokalen Ordners

Konflikt ignorieren

Nicht zutreffend

 

 

 

Diese Konflikte überspringen (Gibt an, dass Konflikte dieses Typs nicht behandelt werden.)

Dies ist die Standardauswahl.

Hinweis:

Versionskonflikte, die mit einem Zusammenführungstool gelöst werden müssen, können nicht im Dialogfeld Ausgewählte Konflikte lösen gelöst werden. Dieses Dialogfeld enthält keine Option zum Zusammenführen von Änderungen mit einem Zusammenführungstool. Außerdem kann das Zusammenführungstool nicht aufgerufen werden, wenn Sie Änderungen zusammenführen auswählen und interne Inhaltskonflikte vorhanden sind. Stattdessen wird das Dialogfeld Ungelöster Konflikt mit der Meldung angezeigt, dass die Konflikte für einige Dateien einzeln gelöst werden müssen. Wenn Konflikte nur für eine Datei nicht gelöst werden können, enthält das Dialogfeld den Dateinamen. Wenn es ungelöste Konflikte für mehrere Dateien gibt, enthält das Dialogfeld die Anzahl der Dateien.

Die folgenden Vergleichsoptionen stehen zur Verfügung:

Konflikttyp

Quellenänderung

Vergleichsoptionen (abrufen oder einchecken)

Vergleichsoptionen (zusammenführen)

Version

Bearbeiten

Umbenennen

Wiederherstellen

Lokal mit Server

Lokal mit Original

Server mit Original

Quelle mit Ziel

Quelle mit Basis

Ziel mit Basis

 

 

Lokal mit Gelöscht

Lokal mit Original

Gelöscht mit Original

Quelle mit Gelöscht

Quelle mit Basis

Gelöscht mit Basis

 

Löschen

Original mit Server

Gelöscht mit Ziel

 

 

Nicht zutreffend

Nicht zutreffend

Dateinamenkonflikt

Hinzufügen

Verzweigen

Umbenennen

Wiederherstellen

Lokal mit Server

Quelle mit Ziel

Überschreibbare Datei

Nicht zutreffend

Nicht zutreffend

Nicht zutreffend

Siehe auch

Aufgaben

Gewusst wie: Lösen von Konflikten zwischen zwei Dateien

Gewusst wie: Abrufen der Quellcodeverwaltung für das Teamprojekt

Gewusst wie: Einchecken von ausstehenden Änderungen

Weitere Ressourcen

Lösen von Ordnerunterschieden und Dateikonflikten (Team Foundation-Versionskontrolle)