2009-02-12 12 views

risposta

2

Vedo sempre le etichette come il ramo di un uomo pigro. Se si sta per fare qualcosa di così significativo da richiedere un'etichetta full-source, è probabilmente meglio indicarlo con un ramo in modo che tutte le attività associate a tale sforzo si trovino in un luogo organizzato con solo il codice effettuato.

La ramificazione è molto potente tuttavia e qualcosa che vale la pena conoscere. TFS non è il miglior controllo del codice sorgente ma non è neanche il peggiore. TFS supporta il concetto di un tronco da cui spuntano anche tutti i rami.

I would recommend this as a good place to read up on best practices - almeno per quanto riguarda TFS.

+14

Con rispetto, questo è un consiglio molto scarso dato che etichette e rami fanno due cose molto diverse. Se qualcuno usasse le etichette quando cercavano di eseguire la ramificazione, sarei d'accordo, ma le etichette fanno esattamente come suggerisce il nome: contrassegnano e raggruppano un particolare insieme di file, che è utile per ragioni che non implicano la ramificazione. Se lavori in una situazione in cui hai più fasi di rilascio, l'utilità (e la differenza) diventa molto evidente. Quindi, ho downvoted. – McGuireV10

+2

@ McGuireV10 Sono d'accordo con l'uso di Andrew Hare della frase "Vedo sempre le etichette come ..." - nel senso che esiste un caso di utilizzo "corretto" per le etichette. Detto questo - venendo da uno sfondo di Subversion e poi facendomi strada attraverso il mondo VCS distribuito e tornando al TFS (non per scelta, di per sé) - per le etichette convertite da Subversion sembrerà un debole sostituto per il tagging, e questo potrebbe sia perché alcune persone mescolano il loro uso di etichette e ramificazioni.Ovviamente, per qualcuno che passa da TFS a SVN, il tagging sembrerà un sostituto piuttosto pesante per le etichette. :) –

11

In qualsiasi VCS, uno di solito si etichetta quando si desidera un'istantanea del codice, da conservare come riferimento per il futuro. Si dirama quando vuoi sviluppare una nuova funzione, senza disturbare il codice corrente.

+1

+1 puramente per pithiness :) –

45

Un'etichetta in TFS è un modo per contrassegnare una raccolta di file. L'etichetta contiene un mucchio di file e la versione del file. È un modo molto economico di contrassegnare quali versioni di file compongono una build ecc.

Un ramo può essere pensato come una copia dei file (di una determinata versione) in una directory diversa in TFS (con TFS sapendo che questo è un ramo e ricorderà quali file e versioni era un ramo di).

Come dice Eric Sink, a branch is like a puppy. Ci vuole cura e alimentazione.

Personalmente, etichetto spesso ma ramo raramente. Creo un'etichetta per ogni build, ma solo branch quando so che ho bisogno di lavorare su una versione storica o che devo lavorare in isolamento dalla riga principale del codice. Puoi creare un ramo da qualsiasi momento nel tempo (e anche un'etichetta) in modo che funzioni bene e che non ci siano rami in giro che non vengono utilizzati.

Speranza che aiuti,

Martin.

10

Andrew afferma che l'etichettatura è più laziale della ramificazione; in realtà è più efficiente nella maggior parte dei casi, non pigro. L'etichettatura può consentire agli utenti di catturare un progetto in qualsiasi momento, mantenere una cronologia dei file modificati per una versione o una build e derivare da/lavorare con il codice in qualsiasi momento e successivamente unirsi nuovamente al ramo principale. Invece di ciò che ha detto Andrew, si consiglia di diramare solo quando si desidera più di un set di binari, quando lo sviluppo di QC e Dev si verificano contemporaneamente o quando è necessario applicare un aggiornamento rapido a una versione precedente, ad esempio.

Problemi correlati