Domanda

Ho provato con controllo del codice sorgente per un paio di progetti, ma ancora non lo capisco.Per questi progetti, abbiamo utilizzato TortoiseSVN e hanno avuto solo una linea di revisioni.(No tronco, ramo, o nulla di tutto ciò.) Se c'è un modo consigliato di configurare sistemi di controllo di origine, che cosa sono?Quali sono le ragioni e i benefici per l'impostazione che modo?Che cosa è le differenze tra il funzionamento di un centralizzati e distribuiti origine del sistema di controllo?

È stato utile?

Soluzione

Mi consiglia di controllare il seguente da Eric Sink di:

http://www.ericsink.com/scm/source_control.html

Avere un qualche tipo di sistema di controllo di revisione, è probabilmente lo strumento più importante che un programmatore ha per la revisione del codice di cambiamenti e capire chi ha fatto cosa a chi.Anche per la singola persona progetti, è prezioso per essere in grado di diff codice attuale rispetto alla precedente versione funzionante per capire cosa sia andato storto a causa di un cambiamento.

Altri suggerimenti

Pensare di controllo del codice sorgente come un gigante pulsante "Annulla" per il codice sorgente.Ogni volta che il check-in, si aggiunge un punto in cui è possibile eseguire il rollback.Anche se non si utilizza la ramificazione/fusione, questa caratteristica può essere molto prezioso.

Inoltre, avendo un 'autorevole' la versione del controllo del codice sorgente, diventa molto più facile per eseguire il backup.

Centralizzata vsdistribuito...la differenza è che nel distribuiti, non c'è necessariamente un 'autorevole' la versione del controllo del codice sorgente, anche se, in pratica, di solito la gente ancora non hanno il master albero.

Il grande vantaggio di sorgente distribuita controllo è duplice:

  1. Quando si utilizza distribuito controllo del codice sorgente, l'intero albero dei sorgenti della vostra macchina locale.Si possono commettere, creare succursali, e funziona praticamente come se si fosse da soli, e poi quando sei pronto a spingere in alto le modifiche, è possibile promuovere la vostra macchina per la copia master.Se si sta lavorando "offline" un sacco, questo può essere un enorme vantaggio.

  2. Non devi chiedere a nessuno il permesso di diventare un distributore di controllo del codice sorgente.Se Una persona è in esecuzione il progetto, ma la persona B e C si desidera apportare modifiche, e condividere le modifiche con ogni altri, diventa molto più facile con la distribuzione di controllo del codice sorgente.

Qui ci sono due articoli che sono molto utili per la comprensione delle nozioni di base.Oltre ad essere informativo, Lavello azienda vende una grande fonte di controllo del prodotto, denominato volta, che è gratuito per gli utenti singoli (io non sono affiliato in alcun modo con che società).

http://www.ericsink.com/scm/source_control.html

http://betterexplained.com/articles/a-visual-guide-to-version-control/

Vault per info www.vault.com.

Anche se non è del ramo, si possono trovare utile utilizzare i tag per indicare i rilasci.

Immaginate che avete lanciato una nuova versione del proprio software di ieri e hanno iniziato a fare grandi cambiamenti per la prossima versione.Un utente ti chiama per segnalare un bug grave di ieri di rilascio.Non si può semplicemente risolvere il problema e copiare le modifiche di sviluppo del tronco, perché le modifiche che hai appena fatto il tutto instabile.

Se si hanno etichettato il rilascio, si potrebbe verificare una copia di lavoro per risolvere il bug.

Quindi, si potrebbe scegliere di creare una filiale in tag e verificare la correzione di bug in esso.In questo modo, è possibile correggere i bug in quella di rilascio mentre si continua ad aggiornare il tronco.Si può anche unire le correzioni in tronco, in modo che essi saranno presenti nella prossima versione.

Lo standard comune per l'impostazione di Subversion è quello di avere tre cartelle nella root del vostro repository:il tronco, i rami e i tag.Il tronco cartella contiene i "corrente principale", la linea di sviluppo.Per molti negozi e delle situazioni, tutto questo si usa mai...un solo lavoro repository di codice.

La cartella tag che fa un passo avanti e vi consente di "checkpoint" codice in certi punti nel tempo.Per esempio, quando si rilascia una nuova build o, talvolta, anche quando, semplicemente, fare una nuova costruzione, si "tag" copia in questa cartella.Questo permette di sapere esattamente che cosa il vostro codice sembrava a quel punto nel tempo.

I rami cartella può contenere diversi tipi di rami, che potrebbe essere necessario in situazioni speciali.A volte un ramo di un posto di lavoro sperimentale di funzionalità che potrebbe richiedere molto tempo per ottenere stabile (quindi non si vuole introdurre nella vostra linea principale appena ancora).Altre volte, un ramo che potrebbe rappresentare la "produzione" copia del codice che può essere modificato e distribuito in modo indipendente dalla principale linea di codice che contiene modifiche inteso per una versione futura.

Comunque, questo è solo un aspetto di come impostare il tuo sistema, ma penso che dare qualche pensiero a questa struttura è importante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top