La società per cui lavoro ha bisogno di avere versioni mensili e sto cercando di convincerli a passare a git. Credo che il giusto modo per gestirlo sia avere un ramo di integrazione per ogni release (ovvero mensilmente) e avere filiali di funzionalità dai rami di integrazione per nuovi sviluppi e cambiamenti. L'ambiente è pieno di interdipendenze e talvolta una caratteristica deve essere posticipata a un mese diverso a causa dei ritardi nelle funzionalità richieste da altri sistemi esterni. I progetti avranno generalmente attività su 2-3 rami di integrazione in parallelo e l'attività è limitata a un gruppo di persone che sono in stretto contatto. (Il che significa che sospetto che possiamo usare la ridistribuzione fintanto che siamo sull'ultimo ramo dell'integrazione - che è vero almeno metà del tempo per metà delle persone)Descrizione del flusso di lavoro per l'utilizzo di git per lo sviluppo interno
C'è una discreta quantità di persone coinvolte, quindi io abbiamo davvero bisogno di alcune linee guida dirette su come fare questo, sia una spiegazione logica della struttura branch/merge che i pratici comandi git per farlo. Qualcuno sa di una tale descrizione che è ragionevolmente ben adattata per un tale flusso di lavoro?
Hmm.Se lo sviluppatore desidera includere funzionalità pubblicate al di fuori della sua stessa macchina, l'ultima "git rebase" riscrive la cronologia di tali commit. Sarebbe più semplice unire tutte le funzionalità al ramo di integrazione pubblica (master?). –
@Marius: ma per quanto riguarda la parte quando dico "L'ultimo rebase riscriverà la cronologia dei consolidamenti locali, ma in una succursale che non pubblicherete comunque (** quindi nessun danno fatto **)"? – VonC