Si dovrebbe utilizzare rami in Subversion se solo una persona sta lavorando a un progetto?

StackOverflow https://stackoverflow.com/questions/1296997

  •  18-09-2019
  •  | 
  •  

Domanda

Sono appena agli inizi con Subversion su un progetto C #. Sto lavorando su questo progetto da solo, ma sto cercando di trattare è come se stavo lavorando in un gruppo per la mia esperienza di apprendimento.

Se ho capito bene il tipico modo di lavorare con la sovversione è quello di avere una cartella tronco che sarà sempre costruire. Le principali modifiche sono quindi creare in nuove filiali, che vengono poi unite di nuovo nel tronco quando sono complete. Quindi ci possono essere molti rami simultanei sta lavorando da diversi membri del team.

Ma se sto lavorando sul mio c'è qualche punto a fare un ramo? Dire che sono al di revisione 100 in HEAD. Creerò un ramo al di revisione 101, e poi continuare a lavorare sul ramo fino Revisione 110. Ora posso unire 110 di nuovo nel tronco, ma non c'è nessun altro sul progetto in modo non ci sarà alcun cambiamento nella tronco di fondersi di nuovo in. Avevo appena fondersi a destra nuovamente dentro la revisione 100 dove mi originale creato il ramo.

È stato utile?

Soluzione

Filiali non hanno nulla a che vedere con quante persone stanno lavorando su un progetto. Un ramo è per un flusso di sviluppo alternativo, come diversi set di funzioni, target hardware, o clienti.

Se 100 persone stanno lavorando su un unico risultato finale che dovrebbero utilizzare lo stesso ramo. Se un singolo individuo sostiene una dozzina di fornire dovrebbe avere una dozzina di rami.

Altri suggerimenti

Credo rami devono essere utilizzati sempre è necessario fare dividere il codice vero e proprio dalla base, per esempio quando è necessario cercare una soluzione esagerato per un problema o qualcosa. Con filiali è possibile separare i problemi ei tentativi di risoluzione e mantenere il controllo della versione.

Un ramo (al contrario di tag) è un mantenibile versione del codice. Anche da un singolo sviluppatore si consiglia di mantenere più di una versione del codice (ad esempio la migrazione correzioni alle versioni più vecchie).
SVN libro elenca i due casi di utilizzo più comuni per i rami SVN qui .
politiche di ramificazione entrambi i metodi non sono collegati direttamente al numero di sviluppatori del progetto.
A meno che non si sta lavorando su un progetto a breve termine (come accademico, singolo rilascio, del progetto) tenta di utilizzare una di queste politiche. Il sovraccarico di gestione è abbastanza basso e può rendere la vita molto più facile dopo.

Non sembra troppo punto nella creazione di rami se è solo lavoro - si può semplicemente utilizzare le revisioni dopo tutto di ripristinare.

Se invece si voleva fare qualcosa di importante e sperimentale e ho voluto provare un paio di cose allora si potrebbe utilizzare il ramo per isolare le modifiche e preservare il tronco.

Si potrebbe lavorare tutto fuori del tronco come questo e quindi utilizzare i tag di rilascio o di rami per scopi storici ... e altri rami per il lavoro sperimentale.

Continuo a 2 rami: lo sviluppo e il tronco, perché non si sa mai quando si ha a che fare una soluzione rapida sulla produzione. Posso lavorare su nuove funzionalità per 1-3 settimane prima di porting per la produzione. Nel frattempo, io possa avere a stendere correzioni alla produzione. Mantenendo 2 rami, posso facilmente distribuire solo correzioni di bug.

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