Git workflow per piccoli team

11

Sto lavorando a un flusso di lavoro git da implementare in un piccolo team. Le idee principali nel flusso di lavoro:

  • Esiste un master di progetto condiviso che tutti i membri del team possono scrivere in
  • Tutto lo sviluppo viene eseguito esclusivamente sui rami delle funzionalità
  • I rami di funzionalità vengono esaminati dal codice da un membro del team diverso dall'autore del ramo
  • Il ramo della funzione viene infine unito al master condiviso e il ciclo ricomincia

L'articolo spiega in dettaglio i passaggi di questo ciclo:

link

Ha senso o mi manca qualcosa?

    
posta janos 07.11.2012 - 11:24
fonte

3 risposte

16

Mi piace il modello di branching del flusso git . Il ramo principale è rimasto solo la maggior parte del tempo, contiene solo versioni. Il ramo di sviluppo dovrebbe essere stabile in ogni momento e i rami delle caratteristiche possono essere spezzati.

Puoi anche combinarlo con integrazione continua unendo lo sviluppo nel tuo branch e il tuo ramo di funzionalità in via di sviluppo. Ovviamente dovresti fondere qualcosa solo quando sei sicuro che le cose funzionino e non si rompano.

    
risposta data 07.11.2012 - 21:52
fonte
7

Penso che manchi l'argomento dell'integrazione continua. Dovrebbe essere parte di ogni impostazione di sviluppo.

Con i rami di funzionalità si ha il problema, che non si integra continuamente, ma solo dopo che una funzionalità è stata completata.

Se la funzionalità ramificata è di breve durata, potrebbe essere accettabile, ma è sicuramente una cosa da considerare.

Un'altra alternativa consiste nell'impostare le build CI per ciascun ramo di funzionalità. Questo sicuramente aiuta, ma non è integrazione. Questo diventa ovvio una volta trovato il primo bug che non compare nella caratteristica A o nella caratteristica B, ma nel momento in cui si integra la caratteristica A & B

Una terza alternativa consiste nel fare l'unione in alcune parti dell'integrazione della build CI. Questa è vera integrazione, e in realtà funziona abbastanza bene con git se il lavoro è in qualche modo separato, ma causa conflitti di fusione durante la compilazione con conseguente generazione fallita.

    
risposta data 07.11.2012 - 12:09
fonte
1

Puoi ispirarti a gitflow o Twgit .

gitflow riepiloga il suo approccio come:

Git extensions to provide high-level repository operations for Vincent Driessen's branching model.

Twgit si descrive come segue:

Twgit is a free and open source assisting tools for managing features, hotfixes and releases on Git repositories. It provides simple, high-level commands to adopt the branching model describes in our documentation. Supported OS: Debian/Ubuntu Linux, Mac OS X.

Entrambi gli strumenti sono disponibili da github .

    
risposta data 09.11.2012 - 10:54
fonte

Leggi altre domande sui tag