Sono il capo tecnico di una piccola azienda (6 sviluppatori). Al momento utilizziamo SVN e passiamo lentamente a Git, dopo che tutti hanno ricevuto il loro addestramento.
Attualmente i nostri clienti sono quelli che "innescano il grilletto" sull'integrazione delle filiali. Il che significa che alcuni moduli o funzionalità sono stati creati e quindi, questa funzione si trova in un ramo fino a quando il client non chiede di farlo funzionare. Quando va in diretta, uniamo il ramo in un ambiente di staging e facciamo test. Quindi una volta che il test conferma che tutto funziona come dovrebbe, allora uniamo le modifiche nel trunk per il live push.
È fatto in questo modo perché spesso abbiamo un sacco di sviluppo parallelo e spesso i requisiti cambiano sempre al volo. Quindi, per isolare e controllare cosa va dove, inseriamo ogni modulo o funzione nel suo ramo.
Per molto tempo abbiamo avuto problemi con la gestione delle filiali. Quindi, ad esempio, potremmo costruire un ramo con la caratteristica A. Passeranno sei mesi e infine il cliente o il gestore dello sviluppo vorranno spostare quella modifica in anticipo, se uno di loro si ricorda . Questo è il mio problema. Quali sono alcuni modi in cui posso tenere traccia di quali rami sono stati uniti? o non uniti? Un modo centralizzato per tenere d'occhio tutti questi cambiamenti.
Questa può essere una sfida da gestire, perché spesso come lead nella mia azienda, mi viene richiesto di gestire progetti, codice, revisione del codice, integrazione su diverse piattaforme. I lead qui non sono silo, dobbiamo essere parte di ogni sviluppo ovunque. Così spesso, in qualsiasi momento, avrò fino a 7-10 voci diverse nella mia lista degli impegni, e l'integrazione e la gestione delle filiali possono scivolare tra le crepe.