Yakın zamanda SVN'den Git'e geçtik ve aynı zamanda canlı sistemlerimizi sürüm kontrolü altına aldık (yerel ödeme ve canlı dosya kopyası yerine).
Projede hepimiz aynı depoya erişiyoruz ve değişiklikleri hayata geçirmek için tam git pull
oradayız. Bu, web tasarımcılarımızın VCS'de henüz canlı olmaması gereken ancak web test ortamında olması gereken değişiklikleri zorlaması nedeniyle sorun yaratır.
Geliştiricilerden biri şimdi hayata geçtiğinde, tüm (muhtemelen bitmemiş) değişiklikleri alır.
Hayata geçmeyi fazladan bir şubeye çevirmeyi düşündüm ve sadece neyin değiştiğini birleştirdim, ama gitme bilgim olmadığı için nasıl bir fikrim yok.
Benim fikrim:
- Canlıda yeni bir Şube oluşturun (
git branch live
). - Her zaman bir şey canlı olmak zorunda
- Master Çekme değişiklik (örn:
git checkout master; git pull; git checkout live
) git merge master
- Master Çekme değişiklik (örn:
Sorun şu ki, ana sisteme geçmek ya da her şeyi doğrudan canlı sisteme çekmek sorunlara yol açıyor, bu yüzden bundan kaçınmayı tercih ederim.
Bunu yapmanın bir yolu var mı ya da Canlı sistemi yönetmenin daha iyi bir yolu var mı (web siteleri bitmemiş şeyleri zorlamamaları konusunda eğitmek hariç).
git checkout -f
, sorunu görmezden gelmek için kullan - ama bir yedekleme yap!
git pull --all
Varsayılan olarak edecektir değil canlı haline usta çekin, bu usta çekin ve usta ile birleştirme ve canlı çekme (sunucuda varolan varsa) canlı birleşmeye olacaktır. Onu denedin mi?