Creazione di rami per cartelle e file

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

Visual Studio 2022 | Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | Visual Studio 2013

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

Lo screenshot seguente mostra la struttura del ramo DinnerNow nella finestra Hierarchy .The following screenshot shows the DinnerNow branch structure in the Hierarchy window.

Finestra Gerarchia

Il team di funzionalità A e il team di funzionalità B svolgono il proprio lavoro in rami 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 un'operazione di diramazione usando Esplora controllo del codice sorgente, come illustrato in questo argomento o il comando Branch al prompt dei comandi. Per altre informazioni, vedere Branch Command.

Suggerimento

La creazione di rami è 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 ramo, è 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 Usare le etichette per creare uno snapshot dei file.

Prerequisiti

  • Per convertire una cartella in un ramo, l'autorizzazione Gestisci ramo deve essere impostata su Consenti.
  • Per diramare un ramo, l'autorizzazione Gestisci ramo deve essere impostata su Consenti per i percorsi dei rami di origine e di destinazione. L'autorizzazione Merge per il percorso del ramo di destinazione deve essere impostata su Consenti.
  • Per creare un ramo di una cartella o di un file, è necessario impostare l'autorizzazione Estrai e l'autorizzazione Merge per il percorso di destinazione su Consenti.

Per altre informazioni, vedere Autorizzazioni tfvc predefinite.

Convertire una cartella in un ramo

Il rilascio di Visual Studio Team Foundation Server 2010 ha iniziato una distinzione tra rami 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

Struttura di cartelle in Esplora controllo codice sorgente

Come illustrato nella figura, è comunque possibile usare le cartelle per organizzare i rami all'interno della gerarchia di controllo della versione di un progetto. 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 ramo e si fa clic su Proprietà, vengono visualizzate informazioni diverse e diverse funzionalità.

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.

  1. In Esplora controllo del codice sorgente verificare che la cartella da convertire esista nel server.

  2. Se accanto alla cartella viene visualizzata l'icona di addizione in sospeso (ICONA stato di addizione in sospeso TFSC), fare clic con il pulsante destro del mouse sulla cartella e quindi scegliere Controlla modifiche in sospeso.

  3. Fare clic con il pulsante destro del mouse sulla cartella da convertire, scegliere Diramazione e unione, quindi fare clic su Converti in ramo.

    Viene visualizzata la finestra di dialogo Converti cartella in ramo .

    Importante

    Se si converte una cartella già diramata, è consigliabile selezionare la casella di controllo Esegui in modo ricorsivo questa conversione per tutte le cartelle figlio diramate . 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 ramo.

    Nota

    Il campo Proprietario è solo per informazioni. All'utente indicato nel campo Proprietario non viene concessa alcuna autorizzazione aggiuntiva.

  5. (Facoltativo) Nel campo Descrizione digitare le informazioni che si ritiene utili per altri membri del team che devono usare questo ramo o comprenderne lo scopo.

  6. Fare clic su Converti.

Importante

Non è possibile annidare i rami; pertanto, non è possibile convertire alcuna cartella in un ramo se contiene un ramo o è contenuto da un ramo. Ad esempio, la figura seguente mostra come né l'elemento padre né l'elemento figlio del ramo FeatureTeamA possano essere convertiti in un ramo.

I rami annidati non sono consentiti

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

Convertire un ramo in una cartella

  1. In Esplora controllo del codice sorgente fare clic sul ramo da convertire.
  2. Scegliere Controllo del codice sorgente dal menu File, scegliere Diramazione e unione, quindi fare clic su Converti in cartella.
  3. Quando viene visualizzato il messaggio Converti ramo 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 illustra come usare l'interfaccia utente grafica di Visual Studio per diramare un ramo. Per informazioni su come eseguire questa attività al prompt dei comandi, vedere Comando ramo.

  1. In Esplora controllo del codice sorgente fare clic con il pulsante destro del mouse sul ramo da diramare, scegliere Diramazione e unione, quindi fare clic su Ramo.

    Viene visualizzata la finestra di dialogo Branch from (Ramo da ).

  2. Nella casella Target Branch Name (Nome ramo di destinazione) specificare il percorso del nuovo ramo.

  3. (Facoltativo) Nella sezione Branch from version (Ramo dalla versione ) fare clic su una delle opzioni seguenti nell'elenco By :In the Branch from version section, click one of the following options in the By list:

    • Se si fa clic su Versione più recente, il ramo viene creato per la versione più recente nel controllo della versione.

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

      Per altre informazioni, vedere Trovare e visualizzare i set di modifiche.

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

  4. Fare clic su Ramo.

    Il ramo viene creato e visualizzato in Esplora controllo del codice sorgente.

    Nota

    A differenza della maggior parte delle operazioni di 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. In caso contrario, non sarà possibile visualizzare la gerarchia dei rami 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 ramo di una cartella o un file, è possibile usare la procedura seguente per eseguire tale attività. Per informazioni su come eseguire questa attività al prompt dei comandi, vedere Comando ramo.

  1. In Esplora controllo del codice sorgente fare clic con il pulsante destro del mouse sulla cartella o sul file che si desidera diramare, scegliere Diramazione e unione, quindi fare clic su Ramo.

    Verrà visualizzata la finestra di dialogo Ramo .

  2. Nella casella Destinazione modificare il percorso e il nome per il nuovo ramo.

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

  3. Nella sezione Branch from version (Ramo dalla versione ) fare clic su una delle opzioni seguenti nell'elenco By :In the Branch from version section, click one of the following options in the By list:

    • Se si fa clic su Versione più recente, il ramo viene creato per la versione più recente nel controllo della versione.

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

      Per altre informazioni, vedere Trovare e visualizzare i set di modifiche.

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

    • Se si fa clic su 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 Usare le etichette per acquisire uno snapshot dei file.

    • Se si fa clic su Versione dell'area di lavoro, il ramo viene creato per la versione nell'area di lavoro.

  4. (Facoltativo) Selezionare la casella di controllo Crea copie di lavoro locali per il nuovo ramo per creare una copia dell'elemento controllato dalla 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 ramo viene creato e visualizzato in Esplora controlli del codice sorgente.

    Nota

    Viene visualizzata una finestra Sfoglia cartella se è stata selezionata la casella di controllo Crea copie di lavoro locali per il nuovo ramo e la cartella locale specificata non viene mappata nell'area di lavoro corrente. Cercare una cartella o fare clic su Crea nuova cartella, specificare una cartella da sincronizzare con gli elementi controllati dalla versione e quindi fare clic su OK.