Birleştirilmiş bir dalı tekrar kullanmak iyi bir uygulama mı?


36

Şu anda, uygulamama yeni bir özellik eklemek zorunda kaldığımda her zaman yeni bir şube oluşturdum.

Özelliğim bittiğinde ve işlevsel olduğunda, bunu ana dalla birleştiririm.

Ancak daha sonra, bu özelliği güncellemem gerektiğinde (bir geliştirme gibi), yeni bir şube oluşturmak daha iyi olur mu yoksa bir önceki ana ile yeniden düzenlemem gerekiyor mu, güncelleme tekrar yapılıyor mu?

Örneğin, Ruby on Rails uygulamasında modelleme-üyesi adlı şubem var. Daha sonra (bu dalda oluşturulan) üye modeline bazı özellikler eklemem gerekiyor. Ne yapmalıyım? Bu şubeyi ana ile yeniden çerçevelendirin, modeli güncelleyin ve yeniden birleştirin mi, yoksa yeni bir şube oluşturun mu?


1
Projeniz çok büyürse, eski şubelerin yeniden kullanılması git'in değişmesi ve / veya güncellenmesi çok zaman alacaktır. Birkaç saniye ile karşılaştırıldığında, yeni bir şube oluşturmak için sürer.
Reacgular

Yanıtlar:


33

Yeni bir dal oluşturun, çünkü:

  • Yepyeni bir dalın işiniz bittiğinde birleşme çatışmaları yaşama olasılığı daha düşüktür ve bu bilgileri ana birimde birleştirmek istediğinizde. Çok az şey birleştirme çatışmalarını düzeltmekten daha fazla hataya açıktır.

  • Bu özellik orijinal uygulamasından bu yana birkaç değişiklik ve güncelleme yapmış olabilir ve bu da orijinal dalı tamamen kullanılmaz hale getirmiştir. Bugüne kadar getirmenin tek yolu, efendiyi özellik dalında birleştirmektir ... ve bu noktada, efendiyi gereksiz yere karmaşık bir şekilde dallıyorsunuz.

  • Yalnızca sadelik adına, güncellemeler, hata düzeltmeleri ve yeni özellikler için aynı iş akışına sahip olmak genellikle iyi bir fikirdir. Bu, dallanma, kod incelemeleri, hata izleyici kullanımı ve hemen hemen her şey için geçerlidir. Mevcut bir özelliği güncellemek, yeni bir özellik eklemek ve bir hatayı düzeltmek arasındaki fark yine de özneldir.


7

Yeni bir dal kullanın.

Adlandırma için, this_work'ün bir uzantı olduğu dahili bir format kullanmayı veya that_work'e değiştirmeyi düşünebilirsiniz.

Mesela ikinci şubeye isim verebilirsin.

modeling-member--attributes

- soldaki adın orijinal dal olduğunu bildiren

Şube isimleri için Jira bilet numaralarını kullandığımız için benzer bir problemi ele alıyoruz. Bazen aynı bilet için ek bir iş olabilir. Bazen bir veritabanı değişikliği geri alınamadı. Bu durumlarda, örneğin, orijinal şube SEND-123 ve ikinci şube SEND-123a olur.


0

Yalnızca master üzerindeki bir birleştirme işleminden tasarruf etmek istiyorsanız ve github kullanıyorsanız, her yeni özelliğe "Fork" kullanabilir ve her yeni özelliğin yapılmasından sonra bir çekme isteği yapabilir ve çekme talebini kabul edebilirsiniz.

Eski dallar üzerinde çalışmayı önermiyorum, çünkü usta başkanıyla birleştirirken çatışmalar yaşayabilirsin ve tabii ki yapman gerekmiyor ...


4
"u" İngilizce bir kelime değildir. Bu tür bir konuşma, metinler ve twitter için ayrılmalıdır.
Robot'a Gort

@Steven Şimdi, orada bile olsa (çoğu insan için) her harf artık üç veya dört tuşa basılmasını gerektirmediğinde, bundan kaçınılmalıdır. :)
TZHX
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.