Processo di sviluppo con area di lavoro ramificata

L'area di lavoro con rami è un'area di lavoro collegata a un'area di lavoro di origine. Consente agli sviluppatori di lavorare sulle modifiche in un ambiente isolato, comprendere il modo in cui il lavoro è correlato ad altre aree di lavoro e promuovere le modifiche all'area di lavoro principale con sicurezza.

La relazione (collegamento) tra un'area di lavoro Branched e la relativa area di lavoro di origine viene stabilita quando l'utente esegue la diramazione. Per gli sviluppatori Fabric, branch-out crea un nuovo ramo Git dal commit più recente del ramo attualmente connesso dell'area di lavoro di origine. L'utente può quindi creare una nuova area di lavoro connessa a tale nuovo ramo oppure usare un'area di lavoro esistente passando alla connessione Git al ramo appena creato.

Area di lavoro ramificata

La relazione spazio di lavoro ramificato presenta diverse rappresentazioni visive nell'interfaccia utente di Fabric.

  • Albero dell'area di lavoro: rappresenta l'area di lavoro di origine come padre dell'area di lavoro con rami

    Gerarchia dell'albero dell'area di lavoro con aree di lavoro diramate.

  • Percorsi di navigazione dell'area di lavoro: opzione di spostamento dall'area di lavoro con rami all'area di lavoro di origine

    Briciole di percorso ramificate dell'area di lavoro.

  • Controllo del codice sorgente - scheda Rami correlati

    Rami relativi all'area di lavoro derivata.

Operazione Branch-Out

Per impostazione predefinita, al termine di un'operazione di diramazione, tutti gli elementi del ramo di origine vengono inclusi nell'area di lavoro di destinazione. Questo comportamento può essere modificato selezionando Seleziona elementi singolarmente (anteprima) durante la configurazione della ramificazione, permettendo l'inclusione solo degli elementi scelti nell'area di lavoro di destinazione per consentire una più rapida esperienza di codifica.

In qualità di sviluppatore di Fabric, il flusso di diramazione sarà il seguente:

  1. Nella scheda Branches del menu controllo del codice sorgente, selezionare Diramare in un'altra area di lavoro.

    Screenshot dell'opzione di ramificazione per il controllo del codice sorgente.

  2. Specificare se si vuole creare una nuova area di lavoro o una nuova diramazione in un'area di lavoro esistente. Specificare i nomi del nuovo ramo e dell'area di lavoro oppure selezionare l'area di lavoro esistente dall'elenco a discesa. Selezionare l'opzione Seleziona elementi singolarmente (anteprima) qualora si desideri lavorare solo su un sottoinsieme degli elementi nell'area di lavoro ramificata. Quando si crea una nuova area di lavoro con diramazione selettiva, verrà visualizzata la schermata seguente.

Annotazioni

Quando si esegue la diramazione in un'area di lavoro, tutti gli elementi che non vengono salvati in Git possono andare persi. È consigliabile effettuare il commit di tutti gli elementi che vuoi mantenere prima di creare un branch.

Screenshot della selezione individuale degli elementi.

Importante

Quando si esegue la diramazione in un'area di lavoro esistente, è possibile eliminare alcuni elementi. Prima di procedere con l'operazione, è necessario confermare che si è compreso questo rischio

  1. Fare clic sul pulsante Diramazione (i passaggi 4-8 si applicano solo quando è selezionata l'opzione Seleziona elementi singolarmente (anteprima)
  2. Questa azione visualizza una finestra di dialogo per selezionare gli elementi per l'area di lavoro.

Annotazioni

Se il ramo Git contiene un numero elevato di elementi, la finestra di dialogo Seleziona elementi potrebbe richiedere del tempo per il caricamento.

  1. Selezionare gli elementi desiderati per questa area di lavoro.

  2. Fare clic su Crea ramo. Screenshot della creazione del branch.

  3. Quando si esegue la diramazione selettiva, sono necessarie tutte le dipendenze dell'elemento. A tale scopo, è possibile usare il pulsante Seleziona elementi correlati . Se non si seleziona una delle dipendenze, viene visualizzato quanto segue: Screenshot dell'errore di dipendenza.

  4. Dopo aver creato il ramo, è possibile verificare di restare in un ramo selettivo tramite l'icona nella barra di stato inferiore (angolo inferiore sinistro). Indica ramo selettivo. Screenshot dell'icona di selezione del branch.

  5. Fabric crea la nuova area di lavoro ramificata. Viene visualizzata automaticamente la nuova area di lavoro. Contiene tutti gli elementi o solo gli elementi selezionati in caso di diramazione selettiva.

    L'area di lavoro viene sincronizzata con il ramo di funzionalità e diventa un ambiente isolato in cui lavorare, come illustrato. È ora possibile lavorare in questa nuova area di lavoro ramificata. La sincronizzazione potrebbe richiedere alcuni minuti. Per ulteriori informazioni sull'espandersi, vedere i suggerimenti per la risoluzione dei problemi.

    Diagramma che mostra il flusso di lavoro dei commit.

  6. Salvare le modifiche ed eseguirne il commit nel ramo di funzionalità.

  7. Quando si è pronti, creare una pull request sul ramo principale. I processi di revisione e unione vengono eseguiti tramite il provider Git correlato in base alla configurazione definita dal team per tale repository.

Una volta completata la revisione e l'unione, viene creato un nuovo commit nel ramo principale. Questo commit richiede all'utente di aggiornare il contenuto nell'area di lavoro del team di sviluppo con le modifiche unite.

Per ulteriori informazioni, vedere limitazioni di diramazione.

Come aggiungere elementi aggiuntivi a un'area di lavoro con diramazione selettiva

Quando uno sviluppatore di Fabric deve aggiungere elementi non selezionati durante l'operazione di diramazione, la procedura seguente descrive come aggiungere elementi aggiuntivi all'area di lavoro:

  1. Passare all'area di lavoro Fabric richiesta e selezionare Controllo del codice sorgente in cima.
  2. A destra selezionare il simbolo di diramazione .
  3. Usare l'elenco a discesa e selezionare Seleziona elementi aggiuntivi.
  4. Questa azione visualizza una finestra di dialogo per selezionare gli elementi per l'area di lavoro. La finestra di dialogo Seleziona elementi mostra solo gli elementi del ramo Git non selezionati in precedenza.
  5. Selezionare gli elementi aggiuntivi da aggiungere all'area di lavoro.
  6. Fare clic su Aggiungi. Gli elementi selezionati vengono aggiunti agli aggiornamenti in sospeso nel riquadro del controllo del codice sorgente.
  7. Fare clic su Aggiorna tutto. Questa operazione esegue un aggiornamento da Git e crea gli elementi nell'area di lavoro.

Cambiare ramo

Se l'area di lavoro è connessa a un ramo Git e si vuole passare a un altro ramo, è possibile farlo rapidamente dal riquadro Controllo del codice sorgente senza disconnettersi e riconnettersi.

Quando si cambia ramo, l'area di lavoro viene sincronizzata con il nuovo ramo e tutti gli elementi nell'area di lavoro vengono sostituiti. Se in ciascun ramo sono presenti versioni diverse dello stesso elemento, l'elemento viene sostituito.

Eseguire il cambio di ramo non influisce sulla relazione (collegamento) tra un'area di lavoro derivata e l'area di lavoro originale. Il cambio di ramo è una modifica dello stato Git. Di conseguenza, il cambio di rami non crea o modifica le relazioni dell'area di lavoro. Se un'area di lavoro ha già una relazione già esistente, essa viene mantenuta.

Annotazioni

Quando si cambiano rami, se l'area di lavoro contiene un elemento nel ramo precedente ma non quello nuovo, l'elemento viene eliminato. Inoltre, in un'area di lavoro con diramazione selettiva, l'esecuzione di un'operazione switch reimposta la selezione degli elementi e tutti gli elementi del ramo commutato vengono sincronizzati con l'area di lavoro.

Per passare da un ramo all'altro, seguire questa procedura:

  1. Nella scheda Rami del menu di controllo del codice sorgente, selezionare Passa al ramo.

    Screenshot dell'opzione di controllo del codice sorgente per creare un nuovo branch.

  2. Specificare il ramo a cui connettersi o creare un nuovo ramo. Questo ramo deve contenere la stessa directory del ramo corrente.

  3. Inserire un check in È possibile eliminare gli elementi dell'area di lavoro e non ripristinarli. Selezionare Cambia ramo.

    Screenshot del cambio di rami.

Non è possibile cambiare ramificazioni se sono presenti modifiche non salvate nell'area di lavoro. Selezionare Annulla per tornare indietro ed eseguire il commit delle modifiche prima di passare dai rami.

Per connettere l'area di lavoro corrente a un nuovo ramo mantenendo lo stato dell'area di lavoro esistente, selezionare Checkout new branch (Estrai nuovo ramo). Altre informazioni sul controllo di un nuovo ramo sono disponibili in Risolvere i conflitti in Git.

Limiti dell'espansione

  • Branch out richiede le autorizzazioni elencate nella tabella delle autorizzazioni.

  • Per questa azione deve esserci una capacità disponibile.

  • Tutte le limitazioni di denominazione dei rami e dell'area di lavoro si applicano quando si esegue la diramazione in una nuova area di lavoro.

  • Nella nuova area di lavoro sono disponibili solo gli elementi supportati da Git.

  • L'elenco dei rami correlati mostra solo rami e aree di lavoro per cui si dispone dell'autorizzazione per la visualizzazione.

  • L'integrazione Git deve essere abilitata.

  • Quando si esegue la diramazione, viene creato un nuovo ramo e le impostazioni del ramo originale non vengono copiate. Modificare le impostazioni o le definizioni per assicurarsi che il nuovo soddisfi i criteri dell'organizzazione.

  • Quando si disconnette un'area di lavoro con rami da Git, viene rimossa anche la relazione con l'area di lavoro di origine.

  • Quando si disconnette un'area di lavoro connessa a Git con aree di lavoro con rami correlate, vengono rimosse anche tutte le relazioni tra aree di lavoro diramate.

  • Quando si elimina un'area di lavoro con aree di lavoro rami correlate, tutte le relazioni tra aree di lavoro rami vengono rimosse e le aree di lavoro rami diventano aree di lavoro regolari.

  • Quando si esegue la diramazione in un'area di lavoro esistente:

    • L'area di lavoro di destinazione deve supportare una connessione Git.
    • L'utente deve essere un amministratore dell'area di lavoro di destinazione.
    • L'area di lavoro di destinazione deve avere capacità.
    • L'area di lavoro non può avere applicazioni modello.
    • L'area di lavoro di destinazione non può avere aree di lavoro ramificate correlate.
  • Si noti che quando si passa a un'area di lavoro, eventuali elementi che non vengono salvati in Git possono essere persi. È consigliabile effettuare il commit di tutti gli elementi che vuoi mantenere prima di creare un branch.