Befehl Merge
Aktualisiert: November 2007
Der Befehl merge wendet Änderungen in einer Verzweigung auf eine andere an.
Hinweis: |
---|
Die Ergebnisse dieses Befehls werden erst nach dem Ausführen eines Eincheckvorgangs in Team Foundation-Versionskontrolle übernommen. Weitere Informationen finden Sie unter Gewusst wie: Einchecken von ausstehenden Änderungen. |
Erforderliche Berechtigungen
Zum Verwenden des Befehls merge muss die Berechtigung Auschecken für den Arbeitsbereichsordner, der das Ziel für die Zusammenführung enthält, auf Zulassen festgelegt sein. Außerdem muss für den Arbeitsbereichsordner, der die Quelle enthält, die Berechtigung Lesen auf Zulassen festgelegt sein. Weitere Informationen finden Sie unter Team Foundation Server-Berechtigungen.
tf merge [/recursive] [/force] [/candidate] [/discard]
[/version:versionspec] [/lock:none|checkin|checkout] [/preview]
[/baseless] [/nosummary] [/noimplicitbaseless] source destination
Parameter
Argument |
Beschreibung |
---|---|
versionspec |
Gibt für die Option /version einen Wert an, z. B. C2. Weitere Informationen über das Verfahren, mit dem Team Foundation durch Analysieren der Versionsspezifikation die Elemente bestimmt, die innerhalb des Bereichs liegen, finden Sie unter Befehlszeilensyntax (Team System). |
source |
Gibt die Datei oder den Ordner an, die bzw. der als Quelle für die Zusammenführung fungiert. |
Destination |
Gibt die Datei oder den Ordner an, die bzw. der als Ziel für die Zusammenführung fungiert. |
Option |
Beschreibung |
---|---|
/recursive |
Sucht nach Entsprechungen der source-Elementspezifikation im aktuellen Verzeichnis und in sämtlichen Unterordnern. |
/force |
Ignoriert die Versionsgeschichte der Zusammenführung und führt die angegebenen Änderungen aus der Quelle im Ziel zusammen, selbst wenn einige oder alle diese Änderungen bereits zusammengeführt wurden. |
/candidate |
Druckt eine Liste aller Changesets in der Quelle, die bisher nicht im Ziel zusammengeführt wurden. Die Liste sollte die ID des Changesets enthalten, die noch nicht zusammengeführt wurde, sowie weitere Basisinformationen über das Changeset. |
/discard |
Führt die Zusammenführung nicht durch, aber aktualisiert die Versionsgeschichte der Zusammenführung, um die ausgeführte Zusammenführung zu verfolgen. Dabei wird ein Changeset zur Verwendung für eine bestimmte Zusammenführung verworfen. |
/version |
Diese Option gibt den Bereich an, der im Ziel zusammengeführt werden soll, und ermöglicht damit eine selektive Zusammenführung. Bei einer Ausgleichzusammenführung gibt dieser Parameter die Version an, vor der alle nicht zusammengeführten Änderungen zusammengeführt werden sollen. Bei einer selektiven Zusammenführung stellt der Versionsbereich den Anfangs- und den Endpunkt der zusammenzuführenden Änderungen dar. Wenn Sie z. B. die Versionen 4 bis 6 zusammenführen, werden die Changesets 4, 5 und 6 zusammengeführt. |
/lock |
Gibt einen Sperrtyp an oder entfernt die Sperre eines Elements. Weitere Informationen finden Sie unter Grundlagen von Sperrentypen. Sperroptionen:
|
/preview |
Zeigt eine Vorschau der Zusammenführung an. |
/baseless |
Führt eine Zusammenführung ohne eine Basisversion aus. Dies ermöglicht dem Benutzer, Dateien und Ordner zusammenzuführen, die nicht über eine Zusammenführungsbeziehung verfügen. Nach einer Zusammenführung ohne Ausgangspunkt ist eine Zusammenführungsbeziehung vorhanden, und zukünftige Zusammenführungen müssen nicht mehr ohne Ausgangspunkt ausgeführt werden. |
/nosummary |
Lässt Zusammenfassung von Fehlern und Warnungen aus, wenn dafür mehr als 10 Zeilen der Ausgabe erforderlich sind. |
/noimplicitbaseless |
Gibt an, dass Team Foundation keine implizite Zusammenführung ohne Ausgangspunkt für zwei Elemente durchführt, die in zwei nicht zusammengehörigen Versionskontrollenverzweigungen über denselben relativen Namen verfügen. |
/noprompt |
Unterdrückt alle Eingabeaufforderungen. |
Hinweise
Sie können mit dem Befehl merge des Befehlszeilenprogramms tf Änderungen in einer vorhandenen Quellverzweigung auf eine vorhandene Zielverzweigung anwenden. Sie können eine einzelne Revision oder ein vollständiges Changeset in der Zielverzweigung zusammenführen. Sie können Änderungen aus der Quelle in der Zielverzweigung oder vom Ziel in der Quellverzweigung zusammenführen.
Mit dem Befehl merge können Sie außerdem Änderungen in einer Quellverzweigung abfragen, die noch nicht in die Zielverzweigung migriert wurden. Des Weiteren können Sie angeben, dass bestimmte Änderungen nie von der Quelle im Ziel zusammengeführt werden und nicht mehr als Optionen für die Zusammenführung angezeigt werden.
Weitere Informationen zur Suche nach dem Befehlszeilendienstprogramm tf finden Sie unter Befehle des Befehlszeilendienstprogramms "Tf".
Zusammenführung ohne Ausgangspunkt
Verwenden Sie die Zusammenführung ohne Ausgangspunkt, um Elemente zusammenzuführen, die nicht direkt voneinander verzweigt sind. Um eine Zusammenführung ohne Ausgangspunkt durchzuführen, müssen Sie den Befehl tfmerge verwenden. Beim Durchführen einer Zusammenführung ohne Ausgangspunkt verfügt Team Foundation nicht über Informationen zur Beziehung der Dateien in den Verzweigungen. Bei einer Zusammenführung ohne Ausgangspunkt müssen Sie manuelle Konfliktlösungen durchführen. Nachdem Sie die Zusammenführung ohne Ausgangspunkt durchgeführt und alle Konflikte behoben haben, zeichnet Team Foundation den Verlauf der Zusammenführung auf und stellt zwischen den Ordnern und Dateien eine Beziehung her.
Wenn Sie tfmerge ausführen, führt Team Foundation eine implizite Zusammenführung ohne Ausgangspunkt für zwei Elemente durch, die in zwei vorher zusammengehörigen Versionskontrollenverzweigungen über denselben relativen Namen verfügen. Angenommen, Sie möchten die verwandten Verzweigungen $SRC\ und $TGT zusammenführen. Beide Verzweigungen enthalten eine nicht verwandte Datei mit dem Namen a.txt. Wenn Sie tf merge ausführen, stellt Team Foundation eine Beziehung zwischen den beiden Dateien mit dem Namen a.txt her, wenn die Dateien identisch sind, wenn die FIPS-kompatible Verschlüsselung deaktiviert ist und wenn die Quelldatei am Ziel nicht mit einer anderen Datei in Beziehung steht.
Falls Sie tf merge mit festgelegter Option /noimplicitbaseless ausführen, ergeben die beiden Dateien a.txt beim versuchten Zusammenführen der beiden Verzweigungen durch Team Foundation einen Namespacekonflikt, wenn Sie versuchen, die Änderungen einzuchecken. Um den Konflikt zu lösen, müssen Sie eine der Dateien umbenennen.
Beispiele
Im folgenden Beispiel werden Änderungen von MyFile_beta1 zusammengeführt, die noch nicht mit MyFile_RTM zusammengeführt wurden.
c:\projects>tf merge MyFile_beta1 MyFile_RTM /recursive
Im folgenden Beispiel werden nur die Änderungen von Changeset 137 mit branch2 zusammengeführt.
c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive
Im folgenden Beispiel werden alle Changesets vom ersten Changeset bis einschließlich Changeset 137 aus branch1 zusammengeführt.
c:\projects>tf merge /version:C137 branch1 branch2 /recursive
Im folgenden Beispiel werden alle Änderungen aus Changeset 100 bis einschließlich Changeset 137 zusammengeführt.
c:\projects>tf merge /version:C100~137 branch1 branch2 /recursive
Im folgenden Beispiel wird eine Liste der Changesets in branch1 angezeigt, die noch nicht mit branch2 zusammengeführt wurden.
c:\projects>tf merge /candidate branch1 branch2 /recursive
Im folgenden Beispiel wird eine Liste der Changesets in branch2 angezeigt, die noch nicht zurück in branch1 zusammengeführt wurden.
c:\projects>tf merge /candidate branch2 branch1 /recursive
Im folgenden Beispiel wird das Changeset 137 als Option für das Zusammenführen in branch2 verworfen.
c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Erweiterte Funktionalität der Versionskontrolle
Gewusst wie: Lösen von Konflikten zwischen zwei Dateien
Konzepte
Referenz
Befehlszeilensyntax (Team System)