Esecuzione del branching per cartelle e file
È possibile utilizzare 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
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 ulteriori 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 ulteriori 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
Come illustrato nella figura, è comunque possibile utilizzare 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 ulteriori 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 riportata di seguito 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 ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.
Per convertire una cartella in un branch
In Esplora controllo codice sorgente verificare che la cartella che si desidera convertire sia presente nel server.
Se l'icona dell'aggiunta in sospeso () viene visualizzata accanto alla cartella, fare clic con il pulsante destro del mouse sulla cartella, quindi scegliere Archivia modifiche in sospeso.
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.
(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.
(Facoltativo) Nel campo Descrizione digitare le informazioni che si ritengono utili per gli altri membri del team che devono utilizzare questo branch o conoscerne lo scopo.
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. |
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
In Esplora controllo codice sorgente fare clic sul branch che si desidera convertire.
Nel menu File passare a Controllo del codice sorgente, Branching e merge e quindi fare clic su Converti in cartella.
Alla visualizzazione del messaggio Riconverti branch in cartella fare clic su Sì.
Creare il branch di un branch
Dopo avere convertito una cartella in un branch, è possibile creare altri branch da tale branch.La procedura riportata di seguito mostra come è possibile utilizzare 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 ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.
Per creare il branch di un branch
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.
Nella casella Nome branch di destinazione specificare il percorso del nuovo ramo.
(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 ulteriori informazioni, vedere Trovare e visualizzare insiemi di modifiche.
Se si fa clic su Data, è possibile specificare una data nella casella Data.
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
Importante |
---|
Nella maggior parte dei casi, la routine documentata in questa sezione non è una procedura consigliata. |
Anche se è comunque possibile creare un branch di una cartella o un file direttamente in Visual Studio ALM, questo tipo di operazione non è generalmente il migliore approccio per la maggior parte degli scopi.La procedura consigliata per il team 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 utilizzare la routine riportata di seguito per eseguire questa attività tramite Visual Studio ALM.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 ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.
Per eseguire il branching di una cartella o un file
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.
Nella casella di testo Destinazione modificare il percorso e il nome del nuovo branch.
È inoltre possibile fare clic su Sfoglia per specificare una destinazione.
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 ulteriori 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 ulteriori 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.
(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.
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