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:

  • None

    Es wird keine Sperre auf einem Element platziert, und vorhandene Sperren für ein Element werden entfernt.

  • Checkin

    Andere Benutzer können die angegebenen Elemente auschecken. Sie können Revisionen gesperrter Dateien jedoch erst dann einchecken, wenn Sie die Sperre durch einen Eincheckvorgang wieder aufheben. Wenn andere Benutzer eines der angegebenen Elemente gesperrt haben, schlägt der Sperrvorgang fehl.

  • Checkout

    Verhindert das Auschecken der angegebenen Elemente durch Benutzer, bis Sie die Sperre explizit aufheben. Wenn andere Benutzer eines der Elemente gesperrt haben oder ausstehende Änderungen für diese Elemente vorhanden sind, schlägt der Sperrvorgang fehl.

/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.

HinweisHinweis
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:

  • Brief: Standardwert, fasst nur die Gesamtzahl von Konflikten, Warnungen und Fehlern zusammen.

  • Detailed: fasst nicht nur die Gesamtzahl von Konflikten, Warnungen und Fehlern zusammen, sondern listet auch Details zu jedem Konflikt auf.

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)

Befehl Branch

Befehl Merges

Weitere Ressourcen

Befehle des Befehlszeilenhilfsprogramms "Tf"

Verzweigen und Zusammenführen