Git-flow modelinde hata düzeltmeleri nereye gider?


15

Yaygın olarak adlandırılan Git-akış modeli düzeltmelerinde, kendi hotfix-*dallarına gider ve release-*dalda yayınlanmadan hemen önce küçük tümleştirme düzeltmeleri yapılır . Önceki sürümdeki genel hata düzeltmelerinin yeri yok gibi görünüyor.

Nerede görünmeli? Kendi bug-*dallarında mı olmalılar develop(tıpkı featuredallar gibi )?


3
Yayınlanan koddaki kritik olmayan bir hata, uygulamanın şu anda yaptığından farklı davranış üretmek için küçük bir özellikten neden farklı olabilir?
Bart van Ingen Schenau

@BartvanIngenSchenau Onlara feature-*şube olmasını tavsiye ediyor musunuz ? Hatalı davranışın düzeltilmesi bir özellik olarak görülebilir mi?
Ayakkabı

1
@Shoe, Bart'ın ne anlama geldiğini, aynı dal önekini kullanmak zorunda değilsiniz, onları özellik olarak ele almanız gerektiğini düşünüyorum .
Darkhogg

3
@Shoe: git-akış, dışında herhangi bir dalında master, develop, release-*veya hotfix-*sizin gibi herhangi bir önek kullanmak ve hatalar için farklı bir önek kullanabilmesi, bir özellik dalıdır. Ayrıca, belirtildiği gibi çalışan hatalı davranış ile spesifikasyondan sapan hatalı davranış arasındaki fark nedir? Her iki durumda da hatalı davranıştır, ancak sadece sonuncusu bir hatadır.
Bart van Ingen Schenau

Yanıtlar:


9

Kısa cevap: Evet, planlanan bir yayınlanacak olan hata düzeltmelerinin dalları özellik dallarında olmalıdır. Özellik dallarını veya hata düzeltmeleri için bu dalları nasıl adlandıracağınız size ve ekibinizin standartlarına bağlıdır, ancak Gitflow'u izliyorsanız aynı şekilde ele alınmalıdır.


Bart van Ingen Schenau'nun yorumu iyi bir noktaya değiniyor .

Gitflow beş dal tipleri vardır: master, develop, (önek olarak düzeltme dalları hotfix-öneki), serbest bırakma dalları ( release-ve özellik dalları. masterVe developdalları dalları uzun süren ve bunları doğrudan işlemezler. release-Dalları bir çizgi çizmek için yapılır bir sonraki sürümü ve sürüm kimliği arasında belli bir serbest bırakılması ve ardından destek hata düzeltmeleri. hotfix-dalları üretime kritik dışı döngüsü bültenleri için özel olarak bulunmaktadır. feature-dalları bazı gelecek sürüm için bireysel özelliklerin geliştirilmesine yöneliktir.

PRs bir özellik dalı taahhüdünde bireysel geliştiriciden kenara kullanılan ve ortamlardan geliyor, hiçbir şey doğrudan içine kararlı olmalıdır master, developya da bir serbest bırakma dalı. Bu, her değişikliğin kodun gözden geçirilmesini ve değişikliklerin girmeden önce uygun CI ortamında testlerin geçmesini ve testlerin geçmesini sağlar. Gitflow'un kendi başına gitmediği anlaşılıyor olsa da, doğrudan bu dallardan birine girerim. t Sürüm öncesi hata düzeltmelerini veya değişikliklerini doğrudan sürüm dalına aktarma ve sonra bunları geliştirme aşamasına alma ve sonra dalları öne çıkarma konusunda sorun yaşama.

Sizin durumunuzda, bir release-şube uygun bir yer değildir. Yazılım zaten piyasaya sürüldü ve piyasaya sürüldü master. Bir sürüm master ile birleştirilip orada etiketlendikten sonra, söz konusu sürüm için sürüm dalı amacından daha uzun ömürlüdür ve artık var olması gerekmez. Şubelerinizi temizleme konusunda aktifseniz (ki herkesin olması gerektiğini düşünüyorum), bu bile bir seçenek değil.

Düzeltmeniz kritik değilse, bir düzeltme dalı da uygun görünmüyor. Bir düzeltme dalının amacı, sürekli gelişime müdahale etmeden birisinin üretimde kritik değişiklikleri çok hızlı bir şekilde almasına izin vermektir. Bunları kullanmak, bir geliştirme ekibinin normu yerine istisna olmalıdır. Genel olarak, kritik düzeltmeler istisnai bir durum olmalıdır.

Geriye kalan tek şey bir özellik dalı. Not o özellik dalları hakkında söz konusu bağlantılı sayfanın bölüm bile bu özelliği dalları "bazen denilen konu dalları" olduğunu söylüyor. Değişikliğiniz yaklaşan bir sürümü hedefliyorsa ve bir düzeltme ölçütlerini karşılamıyorsa, bu dallardan birinde olmalıdır.


Şubelerde uzmanlaşmak, gelişmek veya serbest bırakmak için doğrudan taahhütlerin olmaması gerektiğine katılıyoruz. Ancak, serbest bırakma dalında bir hata bulduğunuzda PR akışı ne olmalı ve her iki serbest bırakma ve geliştirme dalında da düzeltilmesi gerekiyor. Tüm sürüm şubeniz henüz birleştirilmeye hazır değilse, ancak hata düzeltmesinin her iki yerde de yapılması gerekiyorsa, bunun kendi zorlukları vardır .. İsterseniz bunun için yeni bir soru gönderebilirim.
Sap

@Sap Yeni bir soru iyi olurdu, ancak gönderirseniz, lütfen düzeltmenin neden bu kadar kritik olduğunu açıklayın - ikisinin de birleştirilmesi gerektiğini açıklayın - bu, tanıtılmadan önce bulunmayan kritik bir sorun olduğu anlamına gelmez develop, değil piyasaya sürülme zamanı ile yayın kolunun oluşturulması arasında ve / veya yayın kolunuzun uzun süre var olduğu arasında. Basitçe, ancak, tek seçeneğin bir kiraz-seçim olduğuna inanıyorum (serbest bırakma dalına bir düzeltme ve çekme isteği öneririm, serbest bırakma dalına birleştirilir ve bir çekme isteği ile kiraz seçimini geliştiririm).
Thomas Owens

5

Tek bir taahhüt varsa, sadece iyi tanımlanmış bir taahhüt yapın ve geliştirme dalının üstüne itin, başka bir özellik dalı oluşturun.

Git-flow yazarından tam olarak ne istediğini söyleyen bir yorum da var: Eksik hata düzeltme dalları # 24


Teşekkürler, paylaştığın bağlantı bunu benim için temizledi.
arcseldon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.