È buona norma disporre di una filiale remota per ogni sviluppatore?


11

È buona norma disporre di una filiale remota per ogni singolo sviluppatore nel progetto?

Stiamo usando Git con i seguenti rami:

  • maestro
  • pubblicazione
  • sviluppare

Se ogni sviluppatore avesse il proprio ramo, potrebbe inserire il codice nei propri rami e altri potrebbero unire questi cambiamenti nei propri rami.


1
Mi ricorda le aree di lavoro di Accurev, tranne che non sono legate all'indirizzo MAC di una determinata macchina. Mi piace.
Brandon,


1
Perché nat ha un ramo unico per ogni nuova funzionalità aggiunta?
Martin York,

@Loki Sì .. è una buona idea ..
balanv

Risposte:


4

No! È buona norma disporre di uno spazio dei nomi di ramo remoto per ogni sviluppatore.

Un singolo ramo spesso non è abbastanza, quindi lo sviluppatore finirebbe per riavvolgerlo molto o non sarebbe molto utile. Preferisci dire che uno sviluppatore può spingere tutto ciò che vuole sotto il suo nome/ . Possono usarlo per pubblicare versioni di anteprima per gli altri, dando la versione per qualcun altro da testare o anche per qualcun altro da integrare.

Puoi usarlo anche per dare rami all'integratore oppure puoi usare nomi basati su attività. I nomi basati su attività sono in genere più facili da tracciare per l'integratore, ma fanno sì che gli sviluppatori pensino di più alla denominazione e alle persone non piace pensare. Non so quale funzionerà meglio nella pratica; potrebbe persino dipendere dalla squadra particolare.


2

Probabilmente non darei a ogni sviluppatore un ramo sul server centrale a meno che tu non abbia una sorta di infrastruttura in stile github che permetta loro di creare e distruggere i rami stessi e documentare chiaramente a cosa servono. Alcuni sviluppatori avranno bisogno di più di un ramo e alcuni non ne avranno affatto, ma stai creando disordine per tutti da risolvere e costi amministrativi per te stesso.

Incoraggerei invece il tipo di condivisione organica che git eccelle. È molto semplice creare un clone nudo sul proprio computer e rendere tale cartella una condivisione SMB di sola lettura da cui gli altri possono estrarre. In effetti, mi sorprenderebbe molto se molti dei tuoi sviluppatori non lo stessero già facendo.


1
Per impostazione predefinita, tutti possono sempre creare un ramo. Github consente di creare interi repository, ma in questo caso è eccessivo.
Jan Hudec,

1

Dipende da come sono organizzati il ​​team di sviluppo e le attività. Secondo me, il modello che hai specificato funzionerebbe meglio se:

  1. Ogni sviluppatore lavora da solo su compiti indipendenti.
  2. Tutti gli sviluppatori stanno contribuendo alla stessa attività.

Dove questo potrebbe non funzionare bene è se si hanno progetti di funzionalità simultanee in sviluppo e ognuno di essi ha più sviluppatori che ci lavorano.


1

Dare a ciascuno sviluppatore il proprio ramo può essere utile se tutti lavorano su cose diverse che possono toccare gli stessi file. Può aiutare a evitare di calpestare le dita dei piedi, ma richiederà a tutti di unirsi spesso ed essere responsabili nella gestione dei conflitti. Questo è ciò che viene fatto nel mio ufficio e funziona abbastanza bene a parte il raro giorno in cui devi unire manualmente metà dei file che hai modificato.

Se hai più sviluppatori che lavorano sulla stessa funzionalità, è probabilmente meglio creare filiali in base alla funzionalità in sviluppo piuttosto che allo sviluppatore.


1

Se lavori con Git, dovresti provare Pull Requests.

In breve, per prima cosa unisci il ramo principale nel ramo di lavoro corrente. Eventuali conflitti di unione saranno nella tua filiale locale. Questo è bello perché il tuo ramo principale non è mai rotto. Se rovini davvero, hai il tuo commit locale a cui puoi tornare.

Una volta terminata l'unione, chiedi a qualcun altro del team di rivedere e unire il tuo ramo nel ramo principale. Non unire mai il tuo! Finché nessuno si è intrufolato e ha fatto un'altra richiesta pull, sei sicuro di unirti con successo. Poiché tutti sono a conoscenza della richiesta pull, non dovresti avere più persone che si uniscono allo stesso tempo allo stesso tempo.

Una volta che ti sei abituato a questo processo, dovresti provare a unirti il ​​più spesso possibile - una sorta di integrazione continua di un uomo povero. Meno tempo intercorre tra i conflitti, meglio è. Identificherai quando due persone stanno duplicando gli sforzi e possono unirsi. Alcuni luoghi si uniranno ogni volta che completano un requisito, che potrebbe essere ogni due ore. Consiglio di unire almeno una volta alla settimana; in caso contrario, devi svolgere meglio i tuoi compiti.

In genere creo un ramo per attività. Git è carino perché distingue tra impegni locali e spinte. Ciò fornisce alcuni dei vantaggi di ogni persona che ha il proprio ramo senza tutta la complessità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.