Abbiamo utilizzato Git come controllo della versione, ma con la crescita del team, ci sono sempre più dolori quando si tratta di trasferire tutte le nostre modifiche su un singolo ramo per una distribuzione.
Mi chiedo se forse stiamo superando Git come strumento di collaborazione efficace. So che ci sono grandi progetti OSS con molti sviluppatori che usano Git ma ci sono anche alcuni gatekeeper responsabili della fusione dei rami nel ramo finale di build / deployment.
In un ambiente di ufficio, in cui gli sviluppatori sono relativamente indipendenti e si può fidare di unire le proprie modifiche, quante persone possono effettivamente collaborare su Git?
Inoltre, ci sono suggerimenti per un uso efficace di Git? Abbiamo utilizzato il flusso di lavoro di rebase, non sono del tutto convinto che passare a un flusso di lavoro basato sull'unione possa migliorare la situazione, ma poi non ho visto una descrizione formale di come un grande gruppo avrebbe lavorato insieme in un flusso di lavoro di unione (It sembra che la storia si trasformerebbe in un inferno di fusione).
Addendum:
In modo che sia facile da trovare per chiunque altro si chieda:
- Stiamo utilizzando un ramo delle funzionalità strategia
- Il codice base è ben organizzato e abbastanza pulito. È Python (con alcuni HTML / JS), MVC via piramide per l'app web, pacchetto separato (diversa cartella di primo livello nello stesso repository, esso stesso suddiviso in livelli ben definiti) per una grande porzione della funzionalità dell'applicazione non web specifica.
- Proviamo dolore per quanto riguarda il codice di unione perché gli sviluppatori apportano spesso modifiche negli stessi file, ad esempio, uno sviluppatore possiede un'autenticazione, quindi toccano le visualizzazioni, ecc ... relative all'autent, ma un altro dev sta gestendo internazionalizzazione, quindi stanno toccando tutte le visualizzazioni, ecc.