🕐 Tempo di lettura: 3 minuti

Nel mio team adottiamo una variante di Git Flow, con influenze dal Trunk-Based Development (TBD), ottimizzata per le metodologie Agile. Questo approccio combina organizzazione e flessibilità, migliorando il processo di sviluppo e integrazione. In questo post ti spiego la nostra strategia.

📌 Un repository Git strutturato su quattro livelli

📌 Strategia di merge

Cronologia delle release in master con merge squash: history lineare e tag [RELEASE vX.Y.Z]

📌 Vantaggi di questo flusso ibrido

  1. i merge da padre a figlio assicurano che i branch ereditino sempre gli ultimi aggiornamenti
  2. l'allineamento costante evita conflitti di grandi dimensioni alla fine dello sviluppo
  3. gli eventuali conflitti sono risolti nei branch figli, mantenendo pulito il branch padre
  4. grazie al merge squash verso il branch padre, la main history non viene appesantita da commit intermedi
  5. si mantiene un log più chiaro e lineare, utile per debugging e rollback in caso di necessità
  6. il team può lavorare parallelamente su feature indipendenti
  7. allineamento con l'integrazione continua (CI/CD)
  8. adatto sia a team che fanno rilasci frequenti (TBD), sia a chi lavora su sprint più strutturati

🔍 Conclusione

Questo modello ibrido tra Git Flow e TBD risulta particolarmente efficace in un contesto di sviluppo iterativo basato su sprint: fornisce infatti un controllo strutturato delle release e, al contempo, una gestione delle feature e delle merge strategy più snella, in linea con i principi di integrazione continua.

📩 Contattami se vuoi una guida più dettagliata!

Alla prossima pillola! ☕