Freigeben über


Branch-Befehl (Team Foundation-Versionskontrolle)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Mit dem TFVC-Befehl branch wird ein Element oder eine Gruppe von Elementen, einschließlich Metadaten und Versionskontrollverlauf, von einem Speicherort auf dem Azure DevOps-Server in einen anderen und in den lokalen Arbeitsbereich kopiert.

Hinweis

Die Ergebnisse dieses Befehls werden erst auf dem Azure DevOps-Server widergespiegelt, wenn Sie einen Check-In-Vorgang ausführen. Weitere Informationen finden Sie unter Einchecken Ihrer Arbeit in die Codebasis des Teams.

Voraussetzungen

Um den branch-Befehl zu verwenden, müssen Sie die Berechtigung Lesen für das Quellelement und die Berechtigungen Auschecken und Zusammenführen für den Zielordner auf Zulassen festgelegt haben. Weitere Informationen finden Sie unter TFVC-Standardberechtigungen.

Syntax

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]

Parameter

Argument

Argument Beschreibung
<olditem> Gibt den Namen der Ressourcendatei oder des Ressourcenordners im jeweiligen Branch an. Der <olditem> kann auch Versionsinformationen im Format item;versionenthalten.
<newitem> Gibt den Namen der Zieldatei oder des Zielordners oder des übergeordneten Ordners für das Ziel an. Wenn <*newitem> bereits vorhanden und ein Azure DevOps Server Ordner ist, erstellt TFVC die Branch-Elemente darin. <newitem> gibt andernfalls den Namen der Zieldatei oder des Zielordners an. Während des Check-Ins können Konflikte auftreten, wenn das Ziel bereits vorhanden ist.
<versionspec> Gibt einen Wert für die /version-Option an. Weitere Informationen dazu, wie TFVC eine Versionsspezifikation analysiert, um zu bestimmen, welche Elemente in ihrem Gültigkeitsbereich liegen, finden Sie unter Verwenden von Befehlen der Team Foundation-Versionskontrolle.
<comment> Stellt einen Kommentar zum Check-In bereit.
@<commentfile> Gibt den Pfad einer Datei an, die den Kommentar enthält, der für den Branch verwendet wird.
<authorname> Der vom Benutzer bereitgestellte Wert für die /author-Option.
<username> Stellt einen Wert für die Option /login bereit. Sie können einen Benutzernamen entweder als DOMAIN\username oder als <username> angeben.

Option

Option

Beschreibung

/version

Die Version des Elements, zu dem Sie den Branch erstellen möchten. Sie können eine Version wie folgt angeben:

  • Datum/Uhrzeit (D10/20/2005)
  • Changesetnummer (C1256)
  • Bezeichnung (Lmylabel)
  • Neueste Version (T)
  • Arbeitsbereich (Wworkspacename)

Wenn keine Version bereitgestellt wird, verwendet TFVC die folgende Logik, um zu entscheiden, welche Version des Elements in den neuen Branch kopiert werden soll:

  • Wenn ein Azure DevOps Server-Pfad angegeben wird, verzweigt TFVC das Element mit der neuesten Azure DevOps Server-Version. tf branch $/projects/help.cs verwendet beispielsweise die Serverversion.
  • Wenn ein lokaler Pfad für die Quelle angegeben wird, verwendet TFVC die lokale Arbeitsbereichsversion, um den neuen Branch zu erstellen. tf branch C:\314.cs verwendet beispielsweise die Version des lokalen Arbeitsbereichs.

Wenn Sie eine Datei verzweigen, deren Arbeitsbereichsversion älter als die neueste Version auf dem Azure DevOps-Server ist, wird die Datei mit der älteren Version verzweigt.

/lock

Verhindert, dass andere Benutzer Elemente einchecken oder auschecken, bis Sie Ihren ausstehenden Branch und die zugehörigen Änderungen einchecken. Weitere Informationen finden Sie unter Grundlegendes zu Sperrtypen.

Sperroptionen:

  • none
    Standard. Es wird keine Sperre angewendet. Wenn für die Datei, für die Sie einen Branch erstellen, eine Sperre vorhanden ist, wird sie durch diese Option entfernt.
  • checkin
    Andere Benutzer können die angegebenen Elemente auschecken, aber sie können Revisionen für gesperrte Dateien erst einchecken, wenn Sie die Sperre durch Ausführen eines Check-In-Vorgangs freigeben. Wenn andere Benutzer eines der angegebenen Elemente gesperrt haben, tritt beim Sperrvorgang ein Fehler auf.
  • checkout
    Verhindert, dass andere Benutzer die angegebenen Elemente ein- oder auschecken, bis Sie die Sperre durch einen Eincheckvorgang freigeben. Wenn andere Benutzer eines der angegebenen Elemente gesperrt haben, tritt beim Sperrvorgang ein Fehler auf.

/noget

Wenn diese Option angegeben ist, werden keine lokalen Kopien der Dateien und Ordner im neuen Branch im lokalen Arbeitsbereich erstellt. Lokale Kopien werden jedoch beim nächsten Ausführen eines rekursiven GET-Vorgangs im Arbeitsbereich abgerufen.

Hinweis

Sie können verhindern, dass Elemente, wie z. B. der Inhalt eines /images-Ordners, während rekursiver Vorgänge des Typs „Abrufen“ und „Neueste abrufen“ in Ihren Arbeitsbereich abgerufen werden, indem Sie einen Arbeitsbereichsordner verdecken. Weitere Informationen finden Sie unter Workfold-Befehl.

/noprompt

Unterdrückt alle Aufforderungen zu einer Eingabe durch Sie.

/silent

Impliziert /noget, und gibt an, dass die Ausgabe beim Erstellen eines Branchs nicht in das Eingabeaufforderungsfenster geschrieben wird.

/checkin

Erstellt den Branch und checkt ihn in einem Vorgang in den Server ein. Mit dieser Option werden keine ausstehenden Änderungen im lokalen Arbeitsbereich erstellt.

/comment

Fügt dem neuen Branch einen Kommentar hinzu. Diese Option wird nur mit der /checkin-Option verwendet.

/author

Identifiziert den Ersteller des neuen Branchs. Diese Option wird nur mit der /checkin-Option verwendet.

/recursive

Verzweigen Sie bei Ordnern auch alle Dateien darin.

Bemerkungen

Wenn Sie einen lokalen Pfad wie c:\00101 angeben, aber keinen <versionspec> angeben, verwendet TFVC die Version des lokalen Arbeitsbereichs als Grundlage für die Erstellung des neuen Branchs.

Wenn Sie jedoch einen Serverpfad wie z. B. $/00101/*.cs angeben und keinen <versionspec> angeben, verwendet TFVC stattdessen die neueste Azure DevOps Server-Version als Grundlage für die Erstellung des neuen Branchs.

Weitere Informationen zur Verwendung des Befehlszeilenhilfsprogramms tf finden Sie unter Verwenden von Befehlen der Team Foundation-Versionskontrolle.

Beispiele

In den folgenden Beispielen wird davon ausgegangen, dass c:\projects dem Ordner „main“ im Arbeitsbereich zugeordnet ist.

Im folgenden Beispiel wird eine Branchdatei erstellt, die die neueste Arbeitsbereichsversion 314.cs enthält, sie mit 314_branch benennt und im aktuellen Verzeichnis auf dem Datenträger sowie im Ordner Azure DevOps Server speichert, dem sie zugeordnet ist.

c:\projects>tf branch 314.cs 314_branch

Im folgenden Beispiel werden alle Dateien ohne ausstehende Bearbeitungen in der Arbeitsbereichsversion von 314.cs aus dem aktuellen Azure DevOps Server-Ordner in den Azure DevOps Server-Ordner testdata und aus dem aktuellen Verzeichnis auf dem Datenträger in den Arbeitsordner kopiert, der dem Azure DevOps Server-Ordner testdata zugeordnet ist.

c:\projects>tf branch C:\314.cs $/testdata

Im folgenden Beispiel werden alle Dateien ohne ausstehende Bearbeitungen in der aktuellen Arbeitsbereichsversion des Ordners testfiles und die darin enthaltenen Dateien für alle Elemente aus dem aktuellen Azure DevOps Server-Ordner in den Azure DevOps Server-Ordner testfiles_branch und aus c:\testfiles in den lokalen Ordner kopiert, der dem Azure DevOps Server Ordner testfiles_branch zugeordnet ist.

c:\projects>tf branch C:\testfiles $/testfiles_branch

Im folgenden Beispiel wird ein Branch von 314.cs erstellt, wie er in changeset #4 für die Datei vorhanden war. Im Arbeitsordner auf dem Datenträger wird wie auf dem Azure DevOps-Server eine Branchdatei mit dem Titel csharp_branch erstellt.

c:\projects>tf branch C:\314.cs;C4 csharp_branch

Im folgenden Beispiel wird ein neuer Branch von 314.cs so erstellt, wie er am 12.12.03 war. Im Arbeitsordner auf dem Datenträger wird wie auf dem Azure DevOps-Server eine Branchdatei mit dem Titel 314\branch erstellt.

c:\projects>tf branch 314.cs;D12/12/03 314_branch

Im folgenden Beispiel wird die Version von 314.cs verzweigt, auf die die Bezeichnung Beta1 angewendet wurde, mit Beta1branch benannt und zusätzlich zum Azure DevOps Server-Ordner, dem das aktuelle Verzeichnis zugeordnet ist, im aktuellen Verzeichnis auf dem Datenträger gespeichert.

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch