Sfondo: recentemente ho ereditato una serie di progetti nella mia azienda e sto cercando di risolvere alcuni problemi fondamentali relativi al modo in cui sono stati gestiti. Vale a dire, gli sviluppatori precedenti (che non sono più con la compagnia) non stavano usando alcuna forma di controllo del codice sorgente, avevano poca documentazione e non avevano in realtà alcun buon processo di sviluppo.
Quindi ora ho tre server vale la pena di progetti (sviluppo, messa in scena, produzione) che consistono principalmente di siti Web e applicazioni e strumenti creati per applicazioni e API di terze parti che utilizziamo, fino a negozi di script SQL e altre cose . Il mio primo pensiero è stato quello di ottenere tutto questo in Git prima che vengano apportate modifiche e correzioni, ma sto attraversando un momento difficile per trovare il modo migliore per farlo.
Molti precedenti sviluppi sono stati fatti direttamente sui server di produzione, che ha creato una divisione tra la base di codici di ciascun server. Non è immediatamente chiaro dove si trovano tutte le differenze - sto vedendo correzioni di bug sul lato della produzione che non vengono trasferite sullo sviluppo / messa in scena, così come le nuove funzionalità sullo sviluppo che non sono state spostate verso la messa in scena / produzione .
Domanda: quale sarebbe il modo migliore per organizzarmi e spostarli in Git? In che modo strutturare i miei repository / filiali per far fronte alle differenze nel codice?
Ho considerato di continuare lo sviluppo da cloni del codice del server di produzione e di mantenere le basi del codice di sviluppo / staging come riferimento storico. Questo potrebbe potenzialmente essere un punto di partenza, considerando che non so nulla del codice dev / staging comunque? Potrei semplicemente creare repository dei server di produzione per ogni sito Web, tool, set di script, ecc., Creare rami per il codice esistente di dev / staging e qualsiasi nuovo sviluppo si diramerebbe dalla base di codice del server di produzione. Ha senso?