Uso git per progetti personali e penso che sia fantastico. È veloce, flessibile, potente e funziona alla grande per lo sviluppo remoto.
Ma ora è obbligatorio al lavoro e, francamente, abbiamo problemi.
Fuori dagli schemi, git non sembra funzionare bene per lo sviluppo centralizzato in una grande organizzazione (20+ sviluppatori) con sviluppatori di diverse abilità e livelli di sofisticazione git, specialmente rispetto ad altri sistemi di controllo del codice sorgente come Perforce o Subversion, che sono rivolti a quel tipo di ambiente. (Sì, lo so, Linus non l'ha mai pensato per quello.)
Ma - per ragioni politiche - siamo bloccati con git, anche se fa schifo per quello che stiamo cercando di fare con esso.
Ecco alcune delle cose che stiamo vedendo:
- Gli strumenti della GUI non sono maturi
- Utilizzando gli strumenti della riga di comando, è molto facile rovinare un'unione e cancellare le modifiche di qualcun altro
- Non offre autorizzazioni di repository per utente oltre ai privilegi di sola lettura o lettura-scrittura globali
- Se hai un'autorizzazione per QUALSIASI parte di un repository, puoi fare la stessa cosa su OGNI parte del repository, quindi non puoi fare qualcosa come creare un ramo di monitoraggio di piccoli gruppi sul server centrale che altre persone non possono scherzare con.
- Flussi di lavoro diversi da "tutto va bene" o "dittatore benevolo" sono difficili da incoraggiare, figuriamoci imporre
- Non è chiaro se sia meglio usare un unico grande repository (che consente a tutti di fare confusione con tutto) o molti repository per componente (che creano mal di testa nel tentativo di sincronizzare le versioni).
- Con più repository, inoltre, non è chiaro come replicare tutte le fonti di qualcun altro estraendole dal repository centrale, o come ottenere tutto alle 4:30 di ieri pomeriggio.
Tuttavia, ho sentito che le persone utilizzano git con successo nelle grandi organizzazioni di sviluppo.
Se ti trovi in quella situazione, o se in genere disponi di strumenti, suggerimenti e trucchi per rendere più semplice e produttivo l'utilizzo di git in una grande organizzazione in cui alcune persone non sono fan della riga di comando, mi piacerebbe sapere cosa hai suggerire.
A proposito, ho già posto una versione di questa domanda su LinkedIn e non ho ottenuto risposte reali ma un sacco di "accidenti, mi piacerebbe saperlo anche questo!"
AGGIORNAMENTO: Permettimi di chiarire ...
Dove lavoro, non possiamo usare NULLA oltre a git . Non è un'opzione. Siamo bloccati con esso. Non possiamo usare mercurial, svn, bitkeeper, Visual Source Safe, ClearCase, PVCS, SCCS, RCS, bazaar, Darcs, monotone, Perforce, Fossil, AccuRev, CVS o anche il buon vecchio proiettore di Apple che ho usato nel 1987. Quindi, anche se sei il benvenuto per discutere di altre opzioni, non otterrai la taglia se non discuti di git.
Inoltre, sto cercando suggerimenti pratici su come utilizzare git in azienda . Ho messo un intero elenco di problemi che abbiamo in cima a questa domanda. Ancora una volta, le persone sono benvenute per discutere di teoria, ma se vuoi guadagnare la taglia, dammi delle soluzioni.
a process
... (odio quella parola)