SORU
12 NİSAN 2010, PAZARTESİ


Dallanma modelleri sizin için ne Gıt?

Firmamız halen/serbest/dallanma modeli düzeltmeleri ve dallanma modeller şirketi veya gelişim süreci için en iyisi ne tavsiye ister basit bir gövde kullanıyor.

  1. Dallanma modelleri / iş akışı

    Aşağıda üç ana açıklamaları gördüm, ama onlar kısmen çelişen ya da birbirini yok yeterince geniş için sıralamak sonraki sorunlarımız var çalıştırmak (aşağıda açıklandığı gibi). Böylece takımımız şu ana kadar çok büyük çözüm olur. Daha iyi bir şey yapıyorsun?

  2. Vs rebasing (karışık vs sıralı tarih) birleştirme

    0 ** bir ya da görev tamamlanana kadar ana hat geri birleştirilmesi ile beklemeli? Kişisel olarak bu göreve başladı ve bitti üzerinde görsel bir şekilde korur beri birleştirilmesi doğru eğildim, ve ben bile bu amaç için merge --no-ff tercih ederim. Diğer dezavantajları, ancak vardır. Ayrıca birçok commutative mi (ana konu içine bir dal konuya dal içine ana birleştirme anlamına gelmez birleştirme) değil birleştirme - yararlı özelliği anlayamamışsın.

  3. Doğal bir iş arıyorum

    Bazen hatalar prosedürlerimizi basit bir kural ile belirli bir durumu yakalamak değil çünkü böyle bir şey. Örneğin bir düzeltme daha önceki sürümler için gerekli elbette yeterince Olası aşağı yukarı tüm Şubeler (bu terimlerin kullanımı yeterince açık mı?) birleştirmek için temel almalıdır. Ancak yaşanan bir düzeltme yapar içine ana önce geliştirici anlar kesilmeliydi yer daha aşağı tarafa, ve eğer zaten itti (daha da kötüsü, birleştirilmiş ya da bir şey, temel) seçeneğini kalan kiraz-toplama ile ilgili tehlikeler. Ne basit bir kural gibi kullanıyor musunuz?Ayrıca bu dahil bir konu şube mutlaka diğer konu dalları (ortak bir temel dallı olduklarını varsayarsak) hariç beceriksizlik. Geliştiriciler sadece yazdığı kod artık orada değil gibi başka bir duygu başlatmak için bir özelliği bitirmek istemiyorum

  4. Nasıl birleştirme çakışmaları (cherry-pick nedeniyle) oluşturma önlemek için?

    Dallar arasında kiraz-pick birleştirme çakışma oluşturmak için emin bir yol gibi görünüyor ne, bir daha asla birleştirilmiş olabilir? Ki aynı uygulamadan dönmek (ne yapmalı?) işlemek her iki dalda da muhtemelen bu durumu çözmek? Bu birleştirme tabanlı büyük ölçüde bir iş akışı için zorlamaya cesaret edemem bir sebebi vardır.

  5. Nasıl topikal dalları içine ayrıştırmak için?

    Biz fark bu müthiş montajı bitmiş entegrasyon konusuna dalları, ama sık sık bizim geliştiriciler değil açıkça tanımlanmış (bazen basit olarak "çevresinde alay") ve eğer bazı kod var zaten giren bir "mısc" konu, alınamaz oradan tekrar göre soru yukarıda? Nasıl tanımlama//mezun onaylama/konu dalları serbest çalışmak mı?

  6. Kod Gözden geçirme ve mezun gibi uygun prosedürlerelbette güzel olurdu.

    Ama biz sadece bu şeyleri yönetmek için yeterli çözmüş tutmak - herhangi bir öneriniz var mı? entegrasyon Şubesi, çizimleri?

Aşağıda ilgili bir soru listesi:

Ayrıca Plastik SCM task driven development, üzerinde ne yazdığına bir bak ve eğer Plastik senin seçimin değilse, nvie's branching model ve supporting scripts çalışma.

CEVAP
12 NİSAN 2010, PAZARTESİ


DVCS için Yeni geliştiriciler gerçekleştirmek için gereken en rahatsız edici özelliği publication process hakkında:

  • ihtiyacınız ne olursa olsun (/Çek getir) alabilirsiniz
  • (itme) (çıplak) herhangi bir repo yayınlayabilirsin

Bu, birkaç kural sorularınızı kolaylaştırmak için saygı duyarsınız:

Şimdi:

Dallanma modelleri / iş akışı:

her bir iş akışı, her proje için özel olarak tasarlanmıştır support a release management process, ve.
Ne ilave edebilirim için iş akışı söz vardır: her geliştirici yaratmak olmamalı bir şube özelliği, sadece bir "geçerli dev" şube, çünkü gerçek: geliştirici genellikle bilmiyor tam olarak kendi şube vasiyet: bir özelliği, birkaç (bitti çünkü insan çok karmaşık bir özellik), hiçbiri (çünkü hazır değil zaman için serbest), başka bir özelliği (çünkü orijinal bir "başlık"),...

Bir" Bir "sonra" geliştiriciler tarafından/o özelliği. uyan çalışmalarının bir parçası rebase birleştirme getirilebilir hangi repo, Merkez, resmi özellik dalları kurulan "bütünleştirici sadece

Vs rebasing (karışık vs sıralı tarih) birleştirme:

Söz benim cevabım gibi("Workflow description for git usage for in-house development")

Doğal bir iş arıyorum:

düzeltmeler için, yardım ilişkilendirme her düzeltme ile bir bilet bir hata izleme yardımcı olan geliştirici unutma nerede (yani hangi şube, yani bir özel şube "düzeltmeleri") gerekir tamamlama gibi değişiklikler.
Daha sonra kancalar olmayan doğrulanmış hata düzeltmeleri veya bir itme gerekmez mi şubelerden gelen iter karşı merkezi bir repo korunmasına yardımcı olabilir. (belirli bir çözüm burada, çevreye adapte olmak için tüm bu gerekir)

Nasıl birleştirme çakışmaları (cherry-pick nedeniyle) oluşturma önlemek için?

his answer cherry-picking Jakub Narębski belirttiği gibi gerekli olduğu nadir durumlar için ayrılmış olmalıdır.
Eğer Kur kiraz-toplama bir sürü içeriyorsa ("nadir"), o zaman bir şeyler eksik. yani

Ki aynı uygulamadan dönmek (ne yapmalı?) işlemek

git reverto dikkatli olmalıdır, ama ideal değil.

Nasıl topikal dalları içine ayrıştırmak için?

Henüz bir şube her yerde itilmiş sürece, bir geliştirici içine işleyen (O/O bir kez o nihayet gelişimi daha kesin ve kararlı bir şekil alır) geçmişi yeniden düzenlemek gerekir:

  • gerekirse birkaç dal (net tespit özelliği)
  • bir dizi uyumlu bir şube içinde (Trimming Git Checkins) tamamlar

Kod Gözden geçirme ve mezun gibi uygun prosedürler ?

Entegrasyon Şubesi (özel entegrasyon) repo geliştirici için yardımcı olabilir:

  • onun/uzak entegrasyon şube (pull --rebase) üstüne gelişimi rebase
  • yerel olarak çözer
  • bu repo gelişimi itin
  • bir karışıklık sonucu değil bütünleştirici;) ile kontrol edin

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • amc

    amc

    21 EYLÜL 2005
  • audivila

    audivila

    5 HAZİRAN 2009
  • Phandroid

    Phandroid

    26 Ocak 2009