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)