Histórico: recentemente herdei um conjunto de projetos na minha empresa e estou tentando resolver alguns problemas fundamentais de como eles foram tratados. Nomeadamente, os desenvolvedores anteriores (que não estão mais na empresa) não estavam usando nenhuma forma de controle de origem, fizeram pouca documentação e realmente não possuíam bons processos de desenvolvimento.
Então agora eu tenho três servidores no valor de projetos (desenvolvimento, preparação, produção), que consistem principalmente de sites e aplicativos e ferramentas criadas para aplicativos e APIs de terceiros que usamos, até lojas de scripts SQL e outras coisas. Meu primeiro pensamento foi colocar tudo isso no Git antes que mudanças e correções fossem feitas, mas estou tendo dificuldades para descobrir a melhor maneira de fazer isso.
Muito do desenvolvimento anterior foi feito diretamente nos servidores de produção, o que criou uma divisão entre a base de código de cada servidor. Não está claro imediatamente onde estão todas as diferenças - estou vendo correções de erros no lado da produção que não são transportadas no desenvolvimento / preparação, bem como novos recursos no desenvolvimento que não foram movidos para a preparação / produção .
Pergunta: Qual seria a melhor maneira de organizar e mover essas informações para o Git? Como estruturaria meus repositórios / ramificações para acomodar as diferenças no código?
Eu considerei o desenvolvimento contínuo de clones do código do servidor de produção e mantendo as bases de código de desenvolvimento / preparação como referência histórica. Isso seria potencialmente um ponto de partida, considerando que eu não sei nada sobre o código de desenvolvimento / teste de qualquer maneira? Eu poderia simplesmente criar repositórios de servidores de produção para cada site, ferramenta, conjunto de scripts etc., criar ramificações para o código de desenvolvimento / teste existente, e qualquer novo desenvolvimento ramificaria da base de códigos do servidor de produção. Isso faz sentido?