Aynı yazılımın / programın / uygulamanın / komut dosyasının iki farklı sürümünü yazdığımı ve sürüm kontrolü altında sakladığımı varsayalım. İlk versiyon ücretsiz bir "Temel" versiyon, ikincisi ise ücretsiz versiyonun kod tabanını kullanan ve üzerinde birkaç ekstra değer katan özelliklerle genişleyen ücretli bir "Premium" versiyon. Yeni yamaların, düzeltmelerin veya özelliklerin her iki sürümde de yollarını bulması gerekir.
Şu anda kullanıyorum düşünüyorum master
ve develop
kenarı boyunca ana kod tabanı (ücretsiz sürüm) dalları master-premium
ve develop-premium
ödenen sürümü için dalları. Ücretsiz sürümde bir değişiklik yapıldığında ve master
şubeyle birleştirildiğinde develop
(elbette kapsamlı testlerden sonra ), daha fazla test develop-premium
için cherry-pick
komutla şubeye kopyalanır ve daha sonra birleştirilir master-premium
.
Bu durumla başa çıkmak için en iyi iş akışı bu mu? Dikkat edilmesi gereken herhangi bir potansiyel sorun, uyarılar veya tuzaklar var mı? Şimdiye kadar elde ettiklerimden daha iyi bir dallanma stratejisi var mı?
Görüşleriniz çok takdir edilmektedir!
PS Bu Git'te depolanan bir PHP betiği içindir, ancak cevaplar herhangi bir dile veya VCS'ye uygulanmalıdır.