Birden çok ekip için Git iş akışı


12

Git'i kullanmaya başlayacağız (henüz kullanmıyoruz) ve iş akışını tanımlamak istiyorum.

Aynı ürünü birlikte geliştirerek 4 farklı global lokasyonda 4 ekibimiz var. Her takımın ürün kodunun bir parçası vardır, ancak bazen diğer takımların sahip olduğu kodda değişiklik yapmak zorunda kalırlar.

Böyle bir ortam için Git iş akışı için bir öneri var mı?

Bu makaleyi daha önce gördüm , ancak buradaki yaklaşım "mümkün olduğunca nadiren ek dallar oluşturuyoruz" ve daha çok "her kullanıcı hikayesi için dal" yaklaşımına inanıyorum.

Ayrıca, bu makale hoş bir yaklaşım sunmaktadır.

Bir ana dalı, her bir takım için periyodik olarak ustalıkla birleşen kalıcı bir dalı ve takımların dallarıyla birleşen kullanıcı başına bir şube olduğunu aklımda tuttum. Mantıklı mı yoksa işe yaramaz mı?


2
Biz kullanmak bu dallanma modeli , ama "hikaye dalı" olarak "özelliği şube" okursanız, bu ikinci yazısında gerçekten iyi jives düşünüyorum.

2
Eminim 10 kişi buna 10 farklı yanıtla cevap verebilir. İşte benim için işe yarayan: Github'da 'mevcut' sürümü gösteren bir master repo var. Eski sürümler dallıdır (etiketleme de işe yarar). Ekip üyeleri üzerinde çalıştıkları görevler için şubeler oluşturmaya teşvik edilir. Tamamlandığında, master (veya birleştirilmesi gereken herhangi bir yerde) için bir çekme isteği yaparlar ve daha sonra başka biri çekme isteğini inceler ve master'a birleştirmek için sorumludur. Ayrıca, birleştirildikten sonra şubeyi temizlemekten de sorumludurlar.

2
Farklı ekiplerin kod tabanlarını birbirinden uzak tutmak için alt modüllerle ilgilenebilirsiniz . Daha sonra birbirlerinin kod tabanlarını çatallayabilir ve birbirlerinin kod bölümlerini düzenlerken yamalar gönderebilirler.
Fred Foo

@larsmans & carbonbasednerd - Yorumlarınız cevap olmalı, benden oy alacaklardı. * 8 ')
Mark Booth

Yanıtlar:


8

Sürümler arasında özellik geliştirme için güzel bir dallanma stratejisi olan Başarılı Git Dallanma Modeline bir göz atın .

Başarılı bir git dallanma modeli

'Geliştirme' dalı ile 'özellik dalları' arasındaki ekip dalları için ekstra bir seviye ile benzer bir şey uygulayabilirsiniz. Ekip şubelerine sahip olmak, iki ekibin ekip şubeleri arasında birleşerek daha etkin bir şekilde işbirliği yapmalarına da olanak tanır.


0

Her ekibin, herkesin taahhüt ettiği küresel bir depoya sahip kendi havuz versiyonuna sahip olduğunu söyleyebilirim (Linus deposunun çekirdek ve merkezi havuz olduğu Linux çekirdeğinde olduğu gibi).

Daha sonra ürün kodunu korumak için, @larsmans gibi alt modülleri kullanabilirsiniz, o zaman her takım sadece kendileri için en önemli olan kısım üzerinde çalışabilir ve başka bir parça ile çalışmaları gerekiyorsa, bunu yapabilirler, ancak alt modülü güncellemeyi hatırlamak zorunda kalacak ve sorun burada yatıyor (git'i kullanırken yanlış şeyler yapmak çok kolay olduğu için, şükür ki onlardan uzaklaşmak da kolaydır).

Ancak takımlarınız buna alıştıklarından ve diğer takım kodlarını değiştirdiklerinin farkında olduklarından, yabancı bir modülü değiştirmeden önce alt modül güncellemesini yapmayı hatırlamaları daha kolaydır.

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.