Git: ramo singolo o multiplo

1

Sto lavorando a questo mio progetto dove sono l'unico sviluppatore. Ho scelto git per il controllo della versione per il progetto. Attualmente, lavoro da più sistemi e mi impegno nel ramo principale del mio repository centrale.

Volevo sapere se questa è una strategia adeguata o mi manca qualsiasi funzione Git utile. Devo creare filiali per diversi sistemi o per diverse funzionalità del mio progetto? Si prega di avvisare cosa è una strategia generalmente raccomandata per il mio caso d'uso.

    
posta jaibatrik 11.06.2016 - 11:11
fonte

2 risposte

7

Innanzitutto, il tuo attuale approccio sembra perfettamente valido.

Lavorare da diversi sistemi (capisco qui diversi PC in posti diversi, o eventualmente diversi OS che compilano le stesse fonti) non cambia il fatto che lavori ancora sullo stesso software. Quindi questo non dovrebbe essere il principale fattore di influenza della tua strategia di ramificazione.

Tuttavia, potrebbe essere interessante creare filiali per nuove funzionalità importanti, specialmente se è richiesto un significativo refactoring. Branching potrebbe quindi consentire di mantenere la versione corrente mentre si sta lavorando su quella nuova e, in caso di problemi gravi, tornare alla versione di lavoro.

Se lavori da solo su un singolo sistema, puoi evitare tale ramificazione mantenendo le modifiche nel repository locale prima di inviarle al tuo repository centrale. Ma la ramificazione faciliterebbe le cose, specialmente se l'implementazione delle nuove funzionalità richiede più tempo.

Ma nel tuo caso, quando lavori su diversi sistemi, non puoi fare affidamento sul repository locale. Quindi la ramificazione ti porterà definitivamente il vantaggio di avere "lavori in corso" condivisi tra diversi sistemi.

Fai attenzione però a non rendere la tua strategia di ramificazione troppo complessa, specialmente se lavori da solo sul tuo progetto.

    
risposta data 11.06.2016 - 13:24
fonte
4

Regola generale: usa il minor numero possibile di rami e il numero di rami necessari.

Se un ramo è necessario o meno è qualcosa che apprendi principalmente dall'esperienza, ma in caso di dubbio: non ramificarti. Il motivo è inferno ramificato .

Hai bisogno di filiali quando devi modificare lo stesso codice contemporaneamente in 2 modi diversi, ad esempio quando rilasci il software e vuoi supportare la versione con bugfix mentre lavori anche alla prossima versione principale, oppure quando inizia a scrivere una funzione che sai che potresti non completare prima della prossima versione (o della successiva fase di test).

Le ramificazioni temporanee che vivono per minuti o giorni sono un animale diverso, puoi crearne quante ne vuoi, perché le stai chiudendo così velocemente come le apri.

PS: significa che la configurazione corrente è buona.

    
risposta data 11.06.2016 - 15:52
fonte

Leggi altre domande sui tag