Comando Branch (controllo della versione di Team Foundation)

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

Visual Studio 2019 | Visual Studio 2022

Il comando TFVC branch copia un elemento o un set di elementi, inclusi i metadati e la cronologia del controllo della versione, da una posizione a un'altra nel server Azure DevOps e nell'area di lavoro locale.

Nota

I risultati di questo comando non si riflettono nel server Azure DevOps fino a quando non si esegue un'operazione di archiviazione. Per altre informazioni, vedere Controllare il lavoro nella codebase del team.

Prerequisiti

Per usare il branch comando, è necessario disporre dell'autorizzazione Lettura per l'elemento di origine e le autorizzazioni Estrazione e unione per la cartella di destinazione impostata su Consenti. Per altre informazioni, vedere Autorizzazioni tfvc predefinite.

Sintassi

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

Parametri

Argomento

Argomento Descrizione
<olditem> Specifica il nome del file o della cartella di origine da diramare. Può <olditem> inoltre contenere informazioni sulla versione nel formato item;version.
<newitem> Specifica il nome del file o della cartella di destinazione o della cartella padre per la destinazione. Se <*newitem> esiste già ed è una cartella del server Azure DevOps, TFVC crea gli elementi diramati al suo interno. In caso contrario, <newitem> specifica il nome del file o della cartella di destinazione. I conflitti possono verificarsi durante l'archiviazione se la destinazione esiste già.
<versionspec> Fornisce un valore per l'opzione /version . Per altre informazioni su come TFVC analizza una specifica di versione per determinare quali elementi si trovano all'interno del relativo ambito, vedere Usare i comandi di controllo della versione di Team Foundation.
<comment> Fornisce un commento sul ramo.
@<commentfile> Specifica il percorso di un file che contiene il commento utilizzato per il ramo.
<authorname> Valore fornito dall'utente per l'opzione /author .
<username> Fornisce un valore all'opzione /login . È possibile specificare un valore di nome utente come DOMAIN\username o <username>.

Opzione

Opzione

Descrizione

/version

Versione dell'elemento in cui si vuole creare il ramo. È possibile specificare una versione in base a:

  • Data/ora (D10/20/2005)
  • Numero dell'insieme di modifiche (C1256)
  • Etichetta (Lmylabel)
  • Versione più recente (T)
  • Area di lavoro (Wworkspacename)

Se non viene fornita alcuna versione, tfvc usa la logica seguente per decidere quale versione dell'elemento copiare nel nuovo ramo:

  • Se viene specificato un percorso del server Azure DevOps, il controllo della versione di Team Foundation dirama l'elemento alla versione più recente di Azure DevOps Server. Ad esempio, tf branch $/projects/help.cs usa la versione del server.
  • Se viene specificato un percorso locale per l'origine, TFVC usa la versione locale dell'area di lavoro per creare il nuovo ramo. Ad esempio, tf branch C:\314.cs usa la versione dell'area di lavoro locale.

Se si crea un ramo di un file la cui versione dell'area di lavoro è precedente alla versione più recente nel server Azure DevOps, il file viene ramificato nella versione precedente.

/lock

Impedisce ad altri utenti di archiviare o archiviare gli elementi fino a quando non si archiviano i rami in sospeso e le modifiche associate. Per altre informazioni, vedere Informazioni sui tipi di blocco.

Opzioni di blocco:

  • none
    Predefinito. Non viene applicato alcun blocco. Se esiste un blocco nel file per cui si sta creando un ramo, questa opzione lo rimuove.
  • checkin
    Altri utenti possono archiviare gli elementi specificati, ma non possono archiviare le revisioni nei file bloccati fino a quando non si rilascia il blocco eseguendo un'archiviazione. Se uno degli altri utenti ha bloccato uno degli elementi specificati, l'operazione di blocco ha esito negativo.
  • checkout
    Impedisce ad altri utenti di archiviare o archiviare uno degli elementi specificati fino a quando non si rilascia il blocco eseguendo un'archiviazione. Se uno degli altri utenti ha bloccato uno degli elementi specificati, l'operazione di blocco ha esito negativo.

/noget

Se questa opzione viene specificata, le copie locali dei file e delle cartelle nel nuovo ramo non vengono create nell'area di lavoro locale. Tuttavia, le copie locali verranno recuperate nell'area di lavoro alla successiva esecuzione di un'operazione get ricorsiva.

Nota

È possibile impedire che gli elementi, ad esempio il contenuto di una cartella /images , vengano recuperati nell'area di lavoro durante il recupero ricorsivo e ottengano le operazioni più recenti nascondendo una cartella dell'area di lavoro. Per altre informazioni, vedere Comando della cartella di lavoro.

/noprompt

Elimina eventuali richieste di input da parte dell'utente.

/silent

Implica /nogete specifica che l'output non viene scritto nella finestra del prompt dei comandi quando si crea un ramo.

/checkin

Crea e controlla nel ramo al server in un'unica operazione. Questa opzione non crea modifiche in sospeso nell'area di lavoro locale.

/comment

Aggiunge un commento al nuovo ramo. Questa opzione viene usata solo con l'opzione /checkin .

/author

Identifica l'autore del nuovo ramo. Questa opzione viene usata solo con l'opzione /checkin .

/recursive

Per le cartelle, diramare anche tutti i file all'interno.

Osservazioni:

Se si specifica un percorso locale, ad esempio c:\00101 , ma non si specifica un <versionspec>controllo della versione , tfvc usa la versione dell'area di lavoro locale come base per la creazione del nuovo ramo.

Tuttavia, se si specifica un percorso del server, ad esempio $/00101/*.cs e non si specifica un <versionspec>, TFVC usa la versione più recente di Azure DevOps Server come base per la creazione del nuovo ramo.

Per altre informazioni su come usare l'utilità della tf riga di comando, vedere Usare i comandi di controllo della versione di Team Foundation.

Esempi

Negli esempi seguenti si presuppone che c:\projects il mapping alla cartella principale nell'area di lavoro.

L'esempio seguente crea un file di ramo contenente la versione più recente dell'area di lavoro di 314.cs, lo assegna 314_branch e lo salva nella directory corrente su disco e anche nella cartella Azure DevOps Server a cui esegue il mapping.

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

L'esempio seguente copia tutti i file senza modifiche in sospeso nella versione dell'area di lavoro di 314.cs dalla cartella corrente di Azure DevOps Server nella cartella testdata di Azure DevOps Server e dalla directory corrente su disco alla cartella di lavoro mappata alla cartella testdata di Azure DevOps Server.

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

L'esempio seguente copia tutti i file senza modifiche in sospeso nella versione corrente dell'area di lavoro della cartella testfiles e i file che contiene per tutti gli elementi della cartella corrente di Azure DevOps Server nella cartella testfiles_branch Azure DevOps Server e da c:\testfiles nella cartella locale che esegue il mapping alla cartella testfiles_branch Azure DevOps Server.

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

Nell'esempio seguente viene creato un ramo di 314.cs esistente nel set di modifiche n. 4 per il file. Nella cartella di lavoro su disco, come nel server Azure DevOps, viene creato un file di ramo denominato csharp_branch .

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

L'esempio seguente crea un nuovo ramo di 314.cs così come era il 12/12/03. Nella cartella di lavoro su disco come nel server Azure DevOps viene creato un file di ramo denominato 314\branch .

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

L'esempio seguente crea un ramo della versione di 314.cs a cui è stata applicata l'etichetta Beta1 , lo assegna al nome Beta1branch e lo salva nella directory corrente sul disco, oltre alla cartella Azure DevOps Server in cui viene mappata la directory corrente.

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