Tüm kodumun ana dalda olduğu bir Git depom var ve daha önce tüm Drupal dosyalarını görmezden geldim, böylece yazdığım (veya değiştirilen veya değiştirebilecek) kod ile kod arasında sıkı bir ayrım yaptım Drush ile ya da her neyse üretilebilir.
Drupal'ı yükseltmek zorunda kalana kadar bu iyi bir strateji gibi görünüyordu. İşler kötü gittiğinde geri dönmek istediğimi ve bunu yapmak için Git'ten daha iyi bir araç kullanmak istediğimi fark ettim. drupal-7.14
Kendi kendime bu bir özellik dalı için mükemmel bir durum olacağını düşündüm, bu yüzden bir şube yaptım , .gitignore
tüm kod ve ayar dosyalarımı görmezden gelmek ve sadece Drupal kurulumunun bir parçası olan dosyalara dikkat etmek için kendi verdim ' t dokunmak. El ile bir yükseltme yaptım (indirme, unzip, untar, kopya), robots.txt ve .htaccess gibi borderline vakaları sıralayarak ve Drupal'ın .gitignore'unun üzerine kendim yazıyorum. Bir 500 hatadan kurtulmak için 7.14 ile çalışan, ancak 7.15 ile çalışmayan bazı ayarları düzelttim ve sonra her şey mükemmel görünüyordu. Şube adını değiştirdim ve drupal-7.15
mutlu bir şekilde yola çıkmak üzereydim.
Yanlışlıkla ne yaptığımı anlayana kadar: daha önce ana dalım tarafından izlenmeyen, ancak çalışma dizininde bırakılan dosyalar, artık denetlenmeyen dosyalar olmadıkları için, master'ı teslim aldığımda çalışma dizininden kaldırıldı! D'oh!
drupal-7.15
Şubeyi master ile birleştirirsem kod ayrımını kaybedeceğim.
Muhtemelen bir dalı bir alt modüle dönüştürmenin bir yolu vardır. Bunun mümkün olduğunu varsayarsak, bu en iyi strateji olabilir. Bunu yapmadan önce, alt modüllerin "doğru" çözüm olduğunu biliyordum, ancak daha önce izlenmemiş dosyalar için dalları kullanmanın yan etkisini fark etmediğim için, köşeleri kesmeye ve o rotaya gitmeye karar verdim. (Ayrıca, Drupal ile alt modülleri kullanmakta gördüğüm tüm yaklaşımlar, yeni bir projeye başladığınızı ve Drupal'ın ana dal olacağını varsayar. Başka birinin kodunu ana dal yapmak benim için istenmeyen bir durumdur ve zaten bir ana dal ile bir repo. Bu sadece bir yükseltme yapmak için gereksiz karmaşık gibi görünüyordu.)
Düşündüğüm başka bir çözüm olabilir.
Mümkün olan en az olumsuz tarafı ile nasıl en iyi şekilde iyileşebilirim?
GÜNCELLEME : Bu geliştirilme aşamasındadır (dizüstü bilgisayarımdaki bir Linux VM'sinde) ve henüz üretime geçmedi. Üretime gittiğimizde, her şeyin özellik modüllerine sarılmasını planlıyorum, ancak bu henüz mevcut değil.
GÜNCELLEME 2 : Altmodüller may işi değildir. Pro Git'e göre, "Alt modüller bir Git deposunu başka bir Git deposunun alt dizini olarak tutmanıza izin verir". Drupal böyle güzel bir ayrım sağlamaz. Tüm Drupal kodunun bir alt dizinde olması yerine, ilişki az çok ters çevrilir, ancak hala temiz bir ayırma yoktur, çünkü .htaccess ve robots.txt dosyanızı düzenliyor olabilirsiniz, böylece kodunuz ve Drupal repo birlikte karıştırılır. Ben ediyorum bu soruna bir çözüm arıyor .