Angenommen, ich schreibe zwei verschiedene Versionen der gleichen Software / des gleichen Programms / der gleichen App / des gleichen Skripts und speichere sie unter Versionskontrolle. Die erste Version ist eine kostenlose "Basic" -Version, während die zweite eine kostenpflichtige "Premium" -Version ist, die die Codebasis der kostenlosen Version übernimmt und um einige zusätzliche Mehrwertfunktionen erweitert. Alle neuen Patches, Fixes oder Features müssen in beide Versionen aufgenommen werden.
Ich erwäge derzeit die Verwendung master
und develop
Verzweigungen für die Hauptcodebasis (kostenlose Version) neben master-premium
und develop-premium
Verzweigungen für die kostenpflichtige Version. Wenn eine Änderung an der kostenlosen Version vorgenommen und in der master
Verzweigung zusammengeführt wird ( develop
natürlich nach gründlichem Testen ), wird sie develop-premium
über den cherry-pick
Befehl zum weiteren Testen in die Verzweigung kopiert und dann in die Verzweigung zusammengeführt master-premium
.
Ist dies der beste Workflow, um mit dieser Situation umzugehen? Gibt es potenzielle Probleme, Vorbehalte oder Fallstricke, die Sie beachten sollten? Gibt es eine bessere Verzweigungsstrategie als die, die ich mir bereits ausgedacht habe?
Ihr Feedback wird sehr geschätzt!
PS Dies ist für ein in Git gespeichertes PHP-Skript, aber die Antworten sollten für jede Sprache oder VCS gelten.