Che cos'è controllo della versione di Team Foundation?
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Indipendentemente dalle dimensioni del progetto software, è consigliabile usare il controllo della versione appena possibile. I sistemi di controllo della versione sono costituiti da software che consente di tenere traccia delle modifiche apportate nel codice nel tempo. Quando si modifica il codice, si indica al sistema di controllo della versione di creare uno snapshot dei file. e lo salva in modo permanente in modo da poterlo richiamare in un secondo momento, se necessario.
Azure DevOps Services e TFS forniscono due modelli di controllo della versione: Git, che è il controllo della versione distribuita e controllo della versione di Team Foundation (TFVC), che è il controllo della versione centralizzato. Questo articolo offre una panoramica e un punto di partenza per l'uso di TFVC. Se si decide quale tipo di controllo della versione di Azure DevOps Services/TFS usare, vedere Scelta del controllo della versione appropriato per il progetto.
Perché usare il controllo della versione?
Senza il controllo della versione, si ha la tentazione di conservare più copie del codice nel computer. Questo è pericoloso, perché è facile modificare o eliminare un file nella copia errata del codice, potenzialmente perdere lavoro. I sistemi di controllo della versione risolvono questo problema gestendo tutte le versioni del codice, ma presentando una singola versione alla volta.
I sistemi di controllo della versione offrono i vantaggi seguenti:
- Creare flussi di lavoro: i flussi di lavoro di controllo della versione impediscono a tutti di usare il proprio processo di sviluppo con strumenti diversi e incompatibili. I sistemi di controllo della versione forniscono l'imposizione dei processi e le autorizzazioni in modo che tutti rimangano nella stessa pagina.
- Usare le versioni : ogni versione include una descrizione per le modifiche apportate alla versione, ad esempio correggere un bug o aggiungere una funzionalità. Queste descrizioni consentono di seguire le modifiche apportate al codice in base alla versione invece che in base alle modifiche apportate ai singoli file. Il codice archiviato nelle versioni può essere visualizzato e ripristinato dal controllo della versione in qualsiasi momento in base alle esigenze. In questo modo è facile basare il nuovo lavoro su qualsiasi versione del codice.
- Codice insieme : il controllo della versione sincronizza le versioni e assicura che le modifiche non siano in conflitto con altre modifiche del team. Il team si basa sul controllo della versione per risolvere e prevenire i conflitti, anche quando le persone apportano modifiche contemporaneamente.
- Mantieni una cronologia : il controllo della versione mantiene una cronologia delle modifiche man mano che il team salva le nuove versioni del codice. Questa cronologia può essere esaminata per scoprire da chi, perché e quando sono state apportate le modifiche. La cronologia offre la certezza di sperimentare perché è possibile eseguire il rollback a una versione valida precedente in qualsiasi momento. La cronologia consente di basare il lavoro da qualsiasi versione del codice, ad esempio per correggere un bug in una versione precedente.
- Automatizzare le attività : le funzionalità di automazione del controllo della versione consentono di risparmiare tempo al team e generare risultati coerenti. È possibile automatizzare i test, l'analisi del codice e la distribuzione quando le nuove versioni vengono salvate nel controllo della versione.
Ci sono molte cose che possono richiedere tempo come sviluppatore: riprodurre bug, imparare nuovi strumenti e aggiungere nuove funzionalità o contenuti. Man mano che le esigenze degli utenti aumentano, il controllo della versione aiuta il team a collaborare e a spedire in tempo.
Controllo della versione di Team Foundation
TFVC è un sistema di controllo della versione centralizzato. In genere, i membri del team hanno una sola versione di ogni file nei computer di sviluppo. I dati cronologici vengono gestiti solo sul server. I branch sono basati sul percorso e creati nel server.
TFVC consente di applicare autorizzazioni granulari e limitare l'accesso a livello di file. Poiché il team controlla tutto il proprio lavoro in Azure DevOps Server, è possibile controllare facilmente le modifiche e identificare l'utente archiviato in un insieme di modifiche. Usando il confronto e l'annotazione, è possibile identificare le modifiche esatte apportate.
Avvi rapidi
Iniziare creando un progetto, configurando l'area di lavoro e rivedendo e condividendo il codice. È possibile usare uno di questi client o IDE:
Esercitazioni dettagliate
Informazioni di base sull'uso di TFVC con l'esercitazione seguente, che illustra una giornata nella vita di uno sviluppatore DevOps con Visual Studio e TFVC.
- Giorno della vita di uno sviluppatore DevOps: sospendere il lavoro, correggere un bug e condurre una revisione del codice
- Visual Studio: Esaminare il codice
Cosa vuoi fare?
Configurare il computer di sviluppo e iniziare
Dedicare alcuni minuti alla configurazione del computer di sviluppo per sfruttare tutti i vantaggi di una codebase controllata dalla versione.
Scegliere il modello del flusso di lavoro : server o aree di lavoro locali
Area di lavoro server: prima di apportare modifiche, i membri del team estraggono pubblicamente i file. La maggior parte delle operazioni richiede che gli sviluppatori siano connessi al server. Questo sistema facilita il blocco dei flussi di lavoro. Altri sistemi che funzionano in questo modo includono Visual Source Cassaforte, Perforce e CVS. Con le aree di lavoro server, è possibile aumentare le dimensioni delle codebase con milioni di file per ramo e file binari di grandi dimensioni.
Aree di lavoro locali: ogni membro del team accetta una copia della versione più recente della codebase con loro e funziona offline in base alle esigenze. Gli sviluppatori controllano le modifiche e risolvono i conflitti in base alle esigenze. Un altro sistema che funziona in questo modo è Subversion.
Sviluppare l'app in una codebase controllata dalla versione
Non è necessario considerare il controllo della versione nella maggior parte delle situazioni. Il sistema supporta quando è necessario gestire e comprendere le modifiche.
-
A volte devi mettere da parte alcuni o tutto il lavoro che stai facendo. Il sistema di controllo della versione può portare via alcuni dei dolori e ridurre il tempo sprecato dalle interruzioni.
Contribuire al lavoro del team
Controllare le modifiche in modo che il team possa basarsi su, testare e rilasciare il valore creato.
-
Usare rami e blocchi per isolare il rischio introdotto dal lavoro svolto da team diversi.
Visualizzare e gestire le versioni precedenti
Un vantaggio di un sistema di controllo della versione è che è possibile esaminare indietro nel tempo per ottenere informazioni dettagliate su quali modifiche sono state apportate ai file.
-
È possibile confrontare le cartelle del server e le cartelle locali tra loro e visualizzare le differenze tra il contenuto di ogni cartella.
Risolvere i conflitti di controllo della versione di Team Foundation
Un grande vantaggio dell'uso del controllo della versione è che diverse persone possono lavorare simultaneamente in un file. Uno svantaggio è che a volte è necessario risolvere i conflitti. Anche se può essere frustrante incontrare conflitti, il sistema fornisce informazioni e strumenti per comprendere e risolvere i conflitti.
Usare i blocchi del controllo della versione
Quando è necessario impedire l'estrazione e la modifica di un file o di una cartella, è possibile bloccarlo.
Operazioni disponibili solo dalla riga di comando tf
Nella tabella seguente sono elencate le attività per TFVC che è possibile eseguire solo al prompt dei comandi usando lo strumento da tf
riga di comando.
Attività | Comando |
---|---|
Eliminare l'area di lavoro di un altro utente. | workspace con l'opzione /delete |
Annullare il check-out di un altro utente. | undo |
Rimuovere il blocco di un altro utente. | lock |
Definire l'ambito dell'etichetta. | label |
Eseguire un'unione senza base. | merge |
Eliminare definitivamente il contenuto. | destroy |
Eseguire il rollback dell'effetto di uno o più insiemi di modifiche. | rollback |
Articoli correlati
- Che cos'è il controllo della versione?
- Configurare le impostazioni di estrazione
- Migrate from TFVC to Git (Eseguire la migrazione dal controllo della versione di Team Foundation a Git)
- Compilare e testare l'app nel sistema di compilazione automatizzato
- Restrizioni di denominazione in Team Foundation
- Usare i comandi di controllo della versione di Team Foundation
- Autorizzazioni tfvc predefinite