Recentemente siamo passati da SVN a Git e siamo ancora in una fase di apprendimento quando si tratta di best practice, ecc. Sto seguendo this guide come trampolino di lancio per la gestione delle nostre filiali e pubblicazioni.Sta spingendo i rami di caratteristiche all'origine come una buona pratica?
Il documento suggerisce che i rami di funzionalità sono generalmente locali per lo sviluppatore che è praticamente alla pari con quello che ho letto altrove. Tuttavia, alcuni degli ingegneri stanno lavorando su funzionalità che non saranno presenti nella prossima versione. Queste funzionalità sono da 2 a 3 iterazioni prima del ciclo di rilascio.
La preoccupazione che sento dai miei ingegneri è che sono preoccupati di mantenere così tanto codice locale. Anche con i loro processi di backup in atto, è ancora una preoccupazione. E io tendo ad essere d'accordo con le loro preoccupazioni.
Quindi la mia domanda è: è standard che i rami non previsti per le versioni più immediate vengano spinti all'origine? Ad un certo punto questi rami vengono uniti nel ramo di sviluppo e quindi cancellati dall'origine.
Ad esempio, un ingegnere sta lavorando a un pezzo di realizzazione piuttosto grande. Non vogliamo che il suo codice venga inserito nel ramo di sviluppo (sempre il nostro prossimo rilascio). Così abbiamo creato per lui un ramo di fulmine e lo abbiamo spinto all'origine. Il documento che ho collegato e altri che ho letto non rendono chiaro se si tratta di buone o cattive pratiche.
Se c'è una pratica migliore qui per favore fammi sapere o confermare la mia speculazione.
Capisco tutto questo e ha perfettamente senso per me. Tuttavia, se l'ingegnere sta lavorando su un codice che potrebbe richiedere un paio di settimane per completare, non avrebbe senso spingerlo all'origine in modo che il codice sia al sicuro da circostanze impreviste? – Gregg
Assolutamente, se si dispone di una configurazione del sistema di backup sul repository principale. Ma il backup può essere risolto in molti modi, non deve essere fatto tramite il repository principale, ma potrebbe esserlo. Ancora una volta, è un compromesso. Lascia che le persone spingano i rami, ma sappi anche che spingere troppi rami potrebbe non essere così buono. Se il ramo è longevo, certo, ma se si tratta di una correzione a caldo, non lo farebbe. – ralphtheninja
Gotcha. E questo è l'approccio che stiamo prendendo, penso. I rami di lunga vita (settimana o più) probabilmente vorranno essere spinti. Di breve durata (giorni) sono locali. Questo preferisco. Volevo solo non voler addestrare la mia gente sulla strada sbagliata. Grazie. – Gregg