Share via


Esecuzione del branching per cartelle e file

È possibile usare branch per raggiungere gli obiettivi seguenti:

  • Gestire lavoro simultaneo da parte di più team sulla stessa codebase

  • Isolare rischi introdotti da diversi set di modifiche alla codebase

  • Acquisire snapshot, quindi supportare modifiche isolate successive (ad esempio, per creare un branch della versione)

Ad esempio, l'illustrazione seguente mostra come la società DinnerNow ha sviluppato una struttura di branch per soddisfare le esigenze aziendali.

Struttura di branch di DinnerNow nella finestra Gerarchia

Hierarchy window

Feature Team A e Feature Team B svolgono ognuno il proprio lavoro in branch separati. Quando i team sono pronti per integrare il lavoro, eseguono il merge dei branch nel branch Dev. Quando le build del branch Dev sono stabili e pronte per il test, il team esegue il merge del branch Dev con il branch Test.

Man mano che ogni versione viene rilasciata, viene creato un nuovo branch della versione dal branch Main, ad esempio il branch Versione1 e il branch Versione2. Seguendo questa strategia, la società può migliorare o correggere separatamente ogni versione precedente del prodotto, se necessario.

È possibile eseguire il branching tramite Esplora controllo codice sorgente, come illustrato in questo argomento, o il comando Esegui branching da un prompt dei comandi. Per altre informazioni, vedere Branch Command.

Suggerimento

L'esecuzione del branching è una tecnica importante ed efficace per la creazione di un set parallelo di versioni dei file.Tuttavia, l'utilizzo di branch può aggiungere complessità e aumentare i costi del progetto.Ad esempio, quando si esegue il merge di due branch, è possibile che sia necessario risolvere conflitti.

Prima di creare un branch, è necessario considerare se è possibile soddisfare al meglio le esigenze applicando un'etichetta.Con l'applicazione di un'etichetta è possibile acquisire rapidamente e facilmente uno snapshot dello stato dei file in modo che, in un secondo momento, sia possibile recuperare o compilare i file in tale stato.Per altre informazioni, vedere Utilizzare le etichette per eseguire uno snapshot dei file.

Convertire una cartella in un branch

Nella versione di Visual Studio Team Foundation Server 2010 viene effettuata una distinzione tra branch e cartelle. Nell'illustrazione seguente viene illustrato il primo livello della struttura di cartelle di DinnerNow:

Struttura di cartelle di DinnerNow in Esplora controllo codice sorgente

Folder structure in Source Control Explorer

Come illustrato nella figura, è comunque possibile usare cartelle per organizzare i branch all'interno della gerarchia del controllo della versione di un progetto team. Tuttavia, cartelle e branch hanno un aspetto diverso e funzionalità diverse. Quando si fa clic con il pulsante destro del mouse su una cartella o un branch e si sceglie Proprietà, vengono visualizzate informazioni e funzionalità diverse.

Quando si eseguono operazioni di branch, i branch presentano importanti vantaggi rispetto alle cartelle. I branch supportano funzionalità di controllo della versione che forniscono visibilità aggiuntiva della struttura di branch e dei punti in cui è stato eseguito il merge dei set di modifiche. Per altre informazioni, vedere i collegamenti nella sezione Vedere anche più avanti in questo argomento.

Sebbene sia ancora possibile eseguire il branching e il merge delle cartelle, la procedura consigliata per il team consiste nell'esecuzione di branching e merge esclusivamente tra branch. Nella procedura seguente viene descritto come convertire una cartella in un branch.

Autorizzazioni necessarie

Per eseguire la seguente procedura, è necessario che l'autorizzazione Gestione branch sia impostata su Consenti. Per altre informazioni, vedere Riferimento alle autorizzazioni per Team Foundation Server.

Per convertire una cartella in un branch

  1. In Esplora controllo codice sorgente verificare che la cartella che si desidera convertire sia presente nel server.

  2. Se l'icona dell'aggiunta in sospeso (TFSC Pending Addition Status Icon) viene visualizzata accanto alla cartella, fare clic con il pulsante destro del mouse sulla cartella, quindi scegliere Archivia modifiche in sospeso.

  3. Fare clic con il pulsante destro del mouse sulla cartella da convertire, scegliere Branching e merge e quindi Converti in branch.

    Viene visualizzata la finestra di dialogo Converti cartella in branch.

    Importante   Se si converte una cartella già convertita in branch, è probabilmente necessario selezionare la casella di controllo Esecuzione ricorsiva della conversione in tutte le cartelle sottoposte a branching precedentemente da questa cartella. Questa opzione converte inoltre in branch tutte le cartelle sottoposte in precedenza a branching da questa cartella.

  4. (Facoltativo) Nel campo Proprietario digitare il nome della persona proprietaria di questo branch.

    Nota

    Il campo Proprietario è solo a scopo informativo.All'utente indicato nel campo Proprietario non viene concessa alcuna autorizzazione aggiuntiva.

  5. (Facoltativo) Nel campo Descrizione digitare le informazioni che si ritengono utili per gli altri membri del team che devono usare questo branch o conoscerne lo scopo.

  6. Fare clic su Converti.

Importante

Non è possibile annidare branch, pertanto non è possibile convertire una cartella in un branch se contiene un branch o è contenuta in un branch.Ad esempio, l'illustrazione seguente mostra come né il padre né il figlio del branch FeatureTeamA può essere convertito in un branch.

Nested branches are not allowed

Dopo aver convertito una cartella in un branch, è possibile convertirlo nuovamente in una cartella se il team decide di modificare la struttura di branch.

Per convertire un branch in una cartella

  1. In Esplora controllo codice sorgente fare clic sul branch che si desidera convertire.

  2. Nel menu File passare a Controllo del codice sorgente, Branching e merge e quindi fare clic su Converti in cartella.

  3. Alla visualizzazione del messaggio Riconverti branch in cartella fare clic su .

Creare il branch di un branch

Dopo avere convertito una cartella in un branch, è possibile creare altri branch da tale branch. La procedura seguente mostra come è possibile usare l'interfaccia utente grafica di Visual Studio Application Lifecycle Management (ALM) per creare un branch di un branch. Per informazioni sulle modalità di esecuzione di questa attività tramite il prompt dei comandi, vedere Branch Command.

Autorizzazioni necessarie

Per eseguire questa routine, l'autorizzazione Gestione branch deve essere impostata su Consenti per i percorsi dei branch di origine e di destinazione. L'autorizzazione Esegui merge per il percorso del branch di destinazione deve essere impostata su Consenti. Per altre informazioni, vedere Riferimento alle autorizzazioni per Team Foundation Server.

Per creare il branch di un branch

  1. In Esplora controllo codice sorgente fare clic con il pulsante destro del mouse sul branch di cui si desidera eseguire il branching, scegliere Branching e merge, quindi fare clic su Esegui branching.

    Viene visualizzata la finestra di dialogo Branch da.

  2. Nella casella Nome branch di destinazione specificare il percorso del nuovo ramo.

  3. (Facoltativo) Nella sezione Branch da versione fare clic su una delle seguenti opzioni nell'elenco Da:

    • Se si fa clic su Ultima versione verrà creato il branch per la versione più recente inclusa nel controllo della versione.

    • Se si sceglie Set di modifiche è possibile specificare il numero del set di modifiche nella casella Set di modifiche. In alternativa, fare clic sui puntini di sospensione () per aprire la finestra di dialogo Trova set di modifiche.

      Per altre informazioni, vedere Trovare e visualizzare insiemi di modifiche.

    • Se si fa clic su Data, è possibile specificare una data nella casella Data.

  4. Fare clic su Esegui branching.

    Il nuovo branch verrà creato e visualizzato in Esplora controllo del codice sorgente.

    Nota   A differenza della maggior parte delle operazioni del controllo della versione, questa operazione non genera una modifica in sospeso. L'operazione viene invece completata immediatamente e non è possibile annullarla.

Creare un branch di una cartella o un file

Sebbene sia possibile eseguire il branching di un file o cartella direttamente, tale operazione è sconsigliata. Se la si esegue, non sarà possibile visualizzare la gerarchia branch o tenere traccia degli insiemi di modifiche. La procedura consigliata consiste nell'esecuzione di branching e merge esclusivamente tra branch, come descritto in questo argomento.

In presenza, tuttavia, di una particolare esigenza di creare un branch di una cartella o un file, è possibile usare la procedura seguente per eseguire tale attività. Per informazioni sulle modalità di esecuzione di questa attività tramite il prompt dei comandi, vedere Branch Command.

Autorizzazioni necessarie

Per eseguire questa routine, l'autorizzazione Estrai e l'autorizzazione Unisci per il percorso di destinazione devono essere impostate su Consenti. Per altre informazioni, vedere Riferimento alle autorizzazioni per Team Foundation Server.

Per eseguire il branching di una cartella o un file

  1. In Esplora controllo codice sorgente fare clic con il pulsante destro del mouse sulla cartella o sul file di cui si desidera eseguire il branching, scegliere Branching e merge, quindi fare clic su Esegui branching.

    Viene visualizzata la finestra di dialogo Esegui branching.

  2. Nella casella di testo Destinazione modificare il percorso e il nome del nuovo branch.

    È inoltre possibile fare clic su Sfoglia per specificare una destinazione.

  3. Nella sezione Branch dalla versione fare clic su una delle seguenti opzioni nell'elenco Da:

    • Se si fa clic su Ultima versione verrà creato il branch per la versione più recente inclusa nel controllo della versione.

    • Se si sceglie Set di modifiche è possibile specificare il numero del set di modifiche nella casella Set di modifiche. In alternativa, è possibile fare clic sui puntini di sospensione () per aprire la finestra di dialogo Trova set di modifiche.

      Per altre informazioni, vedere Trovare e visualizzare insiemi di modifiche.

    • Se si fa clic su Data, è possibile specificare una data nella casella Data.

    • Se si sceglie Etichetta è possibile digitare il nome dell'etichetta nella casella Etichetta. In alternativa, è possibile fare clic sui puntini di sospensione () per aprire la finestra di dialogo Trova etichetta.

      Per altre informazioni, vedere Utilizzare le etichette per eseguire uno snapshot dei file.

    • Se si sceglie Versione area di lavoro verrà creato il branch per la versione nell'area di lavoro.

  4. (Facoltativo) Selezionare la casella Crea copie di lavoro locali per la nuova esecuzione del branching per creare una copia dell'elemento incluso nel controllo della versione nell'area di lavoro locale. Deselezionare la casella di controllo se non è richiesta una copia locale e si desidera migliorare le prestazioni evitando di scaricare molti elementi nel computer.

  5. Fare clic su OK.

    Il nuovo branch verrà creato e visualizzato in Esplora controllo del codice sorgente.

    Nota

    Se è stata selezionata la casella di controllo Crea copie di lavoro locali per la nuova esecuzione del branching e la cartella locale specificata non è mappata all'area di lavoro corrente, verrà visualizzata la finestra Sfoglia per cartelle.(Facoltativo) Selezionare una cartella oppure scegliere Crea nuova cartella e specificare una nuova cartella da sincronizzare con gli elementi inclusi nel controllo dalla versione, quindi scegliere OK.

Vedere anche

Attività

Visualizzare la gerarchia branch di un progetto team

Concetti

Utilizzare Esplora controllo del codice sorgente per gestire i file nel controllo della versione

Visualizzare dove e quando sono stati uniti set di modifiche

Esecuzione del branching strategico

Altre risorse

Branch Command

Branches Command

Visual Studio TFS Branching Guide