Contexte: J'ai récemment hérité d'un ensemble de projets dans mon entreprise et j'essaie de régler certains problèmes fondamentaux avec la façon dont ils ont été traités. À savoir, les développeurs précédents (qui ne font plus partie de la société) n'utilisaient aucune forme de contrôle de source, faisaient peu de documentation et n'avaient pas vraiment de bons processus de développement en place.
Alors maintenant, j'ai trois serveurs pour des projets (développement, mise en scène, production) qui consistent principalement en des sites Web et des applications et des outils conçus pour les applications tierces et les API que nous utilisons, jusqu'aux magasins de scripts SQL et autres. Ma première pensée a été d'intégrer tout cela dans Git avant que des modifications et des correctifs ne soient apportés, mais j'ai du mal à trouver la meilleure façon de le faire.
De nombreux développements antérieurs ont été effectués directement sur les serveurs de production, ce qui a créé un fossé entre la base de code de chaque serveur. On ne sait pas immédiatement où se situent toutes les différences - je vois des corrections de bogues du côté de la production qui ne sont pas reportées sur le développement / la mise en scène, ainsi que de nouvelles fonctionnalités sur le développement qui n'ont pas été déplacées vers la mise en scène / la production .
Question: Quelle serait la meilleure façon pour moi de les organiser et de les déplacer dans Git? Comment est-ce que je structurerais mes repos / branches pour tenir compte des différences dans le code?
J'ai envisagé de poursuivre le développement à partir de clones du code du serveur de production et de conserver les bases de code de développement / de transfert comme référence historique. Serait-ce potentiellement un point de départ, étant donné que je ne sais rien du code dev / staging de toute façon? Je pouvais simplement créer des dépôts des serveurs de production pour chaque site Web, outil, jeu de scripts, etc., créer des branches pour le code de développement / de transfert existant, et tout nouveau développement se dériverait à partir de la base de code du serveur de production. Est-ce que ça a du sens?