Befehl Merge
Der Befehl merge wendet Änderungen in einer Verzweigung auf eine andere an.
Tipp
Die Ergebnisse dieses Befehls werden erst nach dem Ausführen eines Eincheckvorgangs im Server für die Team Foundation-Versionskontrolle widergespiegelt. Weitere Informationen finden Sie unter Einchecken von ausstehenden Änderungen.
Erforderliche Berechtigungen
Zum Verwenden des merge-Befehls muss die Berechtigung Auschecken auf Zulassen für den Arbeitsbereichsordner festgelegt werden, der das Ziel enthält, und die Berechtigung Lesen muss für den Arbeitsbereichsordner, der die Quelle enthält, auf Zulassen festgelegt werden. Weitere Informationen hierzu finden Sie unter Team Foundation Server-Berechtigungen.
tf merge [/recursive] [/force] [/candidate] [/discard]
[/version:versionspec] [/lock:none|checkin|checkout] [/preview]
[/baseless] [/nosummary] [/noimplicitbaseless] [/conservative] [/format:(brief|detailed)] [/noprompt] [/login:username,[password]] source destination
Parameter
Argument |
Beschreibungen |
---|---|
versionspec |
Gibt einen Wert für die /version-Option 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 (Versionskontrolle). |
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. |
username |
Gibt einen Wert für die /login-Option an. Sie können als Wert für einen Benutzernamen entweder DOMÄNE\Benutzername oder Benutzername angeben. |
Option |
Beschreibungen |
---|---|
/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.
Hinweis
Bei Zusammenführungen ohne Basis können keine Dateien im Ziel gelöscht werden.Sie können solche Änderungen manuell übertragen.
|
/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. |
/nosummary |
Lässt Zusammenfassung von Konflikten, Fehlern und Warnungen weg. |
/noprompt |
Unterdrückt alle Eingabeaufforderungen. |
/conservative |
Führt zu weiteren Konflikten, wenn Sie eine Verzweigung mit einer anderen zusammenführen. |
/format |
Gibt das Format für die Zusammenfassung von Mergekonflikten an:
Hinweis Diese Option gilt nur, wenn die Ausgabe eine Zusammenfassung von Konflikten enthält. Die Zusammenfassung kann nicht angezeigt werden, wenn die /nosummary-Option verwendet wurde oder die Zusammenführung weniger als 10 Konflikte, Warnungen bzw. Fehler ergeben hat. |
/login |
Gibt den Benutzernamen und das Kennwort für die Benutzerauthentifizierung bei Visual Studio Team Foundation Server an. |
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 Befehlszeilenhilfsprogramms "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 tf merge 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 tf merge 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 wird Changeset 137 mit branch2 zusammengeführt.
c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive
Im folgenden Beispiel werden alle Changesets bis Changeset 137 mit branch2 zusammengeführt.
c:\projects>tf merge /version:C137 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
Lösen von Konflikten zwischen zwei Dateien
Referenz
Befehlszeilensyntax (Versionskontrolle)