2010-04-06 9 views
5
ile Bakımını Yapma

2 projem var ve aslında bu 2 proje birbirinin yaklaşık% 80'i kadar aynıdır, temel fark sadece dil ve iş modeli ile ilgilidir, bir tanesi İngilizce dili kullanarak daha büyük bir kitle içindir ve 9 $/Ay iş modeli, başka bir freemium iş modeli ile yerel dili kullanıyor.Project'in Git

Yeni özellik/işlev eklemek istediğimde, her ikisini de projeye eklemek istiyorum, ancak bazen yalnızca yerel proje için özellik eklemek istiyorum.

Sorum şu ki, bu 2 projeyi git ile nasıl sürdüreceğim?

  1. her proje için 2 git depo veya
  2. 2 ile tek bir git depo esas şube korumak veya
  3. Başka bir öneri korumak?

cevap

8

üç git projeleri oluşturmak:

  • bir "çekirdek" projesi: diğer iki projeler arasında

  • senin ingilizce proje paylaşılan kodunu içerir: bir sahiptir Çekirdek için özel alt modülü Özel kodu

  • çevrilmiş projesi: o da çekirdek artı spesifik kod

Eğer çekirdek projeyi değiştirmek alt modülü referansları güncellemenizi ve iyi

+0

Alt modüller bunun için yoldur. Herkesin neler olduğu konusunda net olması gerekiyor, ama bir kez olduklarında en az iş. –

2

olurdu bu şekilde bir alt modülü mümkün mü vardır Bunu yapılandırma ve yerelleştirme ile halledebilmeniz için? Yani: ödeme modeli/etkin özellikler belirlenmesi ve buna göre davranışını değiştirme web sitesinin her versiyonu için İngilizce ve yerel dilde dizeleri

  • Yapılandırma içeren

    • Bir kod tabanı
    • İki yerelleştirme dosyalarını

      Kişisel bakış açım, bir projenin = bir depo olmasıdır. Web siteleriniz açıkça farklıysa, ortak kodun aklı başında, kontrollü bir şekilde yapılandırılıp değiştirilebilecek modüller halinde yeniden kodlanmasıyla sorununun daha iyi ele alınabileceğini düşünüyorum. Her projenin kendi git deposuna sahip olmasına izin verirseniz, sıkı çalışma olmadan kolayca saptırabilecek ve kolayca izlenemeyen, ince hata veya test edilmemiş işlevselliği tanıtan farklılıklar içerebilirler.