Hintergrund: Ich habe kürzlich eine Reihe von Projekten in meinem Unternehmen geerbt und versuche, einige grundlegende Probleme bei der Behandlung zu lösen. Die früheren Entwickler (die nicht mehr im Unternehmen sind) verwendeten nämlich keine Form der Quellcodeverwaltung, erstellten wenig Dokumentation und verfügten nicht über wirklich gute Entwicklungsprozesse.
Jetzt habe ich drei Server mit Projekten (Entwicklung, Staging, Produktion), die hauptsächlich aus Websites und Anwendungen und Tools bestehen, die für von uns verwendete Anwendungen und APIs von Drittanbietern erstellt wurden, bis hin zu Speichern von SQL-Skripten und anderen Dingen. Mein erster Gedanke war, all dies in Git zu integrieren, bevor Änderungen und Korrekturen vorgenommen werden, aber es fällt mir schwer, den besten Weg zu finden, dies zu tun.
Viele frühere Entwicklungen wurden direkt auf den Produktionsservern durchgeführt, wodurch eine Kluft zwischen den Codebasen der einzelnen Server entstanden ist. Es ist nicht sofort klar, wo all die Unterschiede liegen - ich sehe Fehlerbehebungen auf der Produktionsseite, die nicht auf Entwicklung / Staging übertragen werden, sowie neue Funktionen auf der Entwicklung, die nicht in Richtung Staging / Produktion verschoben wurden .
Frage: Was wäre der beste Weg für mich, diese zu organisieren und in Git zu verschieben? Wie würde ich meine Repos / Zweige strukturieren, um den Unterschieden im Code Rechnung zu tragen?
Ich habe überlegt, die Entwicklung von Klonen des Produktionsservercodes fortzusetzen und die Entwicklungs- / Staging-Codebasen als historische Referenz beizubehalten. Wäre dies möglicherweise ein Anfangspunkt, wenn man bedenkt, dass ich sowieso nichts über den Entwicklungs- / Staging-Code weiß? Ich könnte einfach Repos der Produktionsserver für jede Website, jedes Tool, jeden Skriptsatz usw. erstellen, Zweige für den vorhandenen Entwicklungs- / Staging-Code erstellen, und jede neue Entwicklung würde von der Codebasis des Produktionsservers verzweigen. Macht das Sinn?