Git'i küçük bir ekipte doğru kullanmak


14

Git'i yaklaşık 5 geliştiriciden oluşan küçük bir ekipte doğru uygulamayı kullanmanın en kolay yolu, bir sunucu canlı uygulamayı çalıştırıyorsa ne olurdu?


5
Ben bu durumda git kullanarak soru. Tüm insanları tek bir odada tek bir sunucuya sahip olduğunuzda, merkezi olmayan kaynak kontrolünü kullanmanın bir avantajı yoktur. Ve hala taahhütlerin üstüne çekme / itme yükü var.
Euphoric

10
@Euphoric, takımınıza ve iş akışınıza bağlıdır.

3
@ONOZ lütfen mevcut çalışma şeklinizi daha ayrıntılı olarak açıklayın.

22
@Euphoric - Ne kadar dar görüşlü bir tutum. Tek başına dallanma ve birleştirme kolaylığı için gitveya hgen merkezi VCS'leri yener. İnsanların DVCS'lerin ne kadar büyük olduğu konusunda sürekli olarak rahatsız olan insanlara rahatsız olduklarını anlayabilirim, ancak başınızı kuma gömmek ve DVCS ile biri olmadan farklı ve muhtemelen daha verimli iş akışları geliştirebileceğinizi kabul etmeyi reddetmek de aynı derecede kötü.
Mark Booth

8
@Euphoric, Git kullanmak kaynak denetiminizin "merkezi olmayan" anlamına gelmez. Küçük bir ekipte çalışıyorum ve Git'i kullanıyoruz ve hala merkezi bir havuzumuz var. Bunu itiyorsun. Bir DVCS kullanmak, genellikle her insanın merkezi bir noktası olmayan her insandan çekildiği anlamına gelmez.
Kyralessa

Yanıtlar:


11

Şube oluşturmanızı öneririm:

  • üretim
  • usta
  • yerel

Üretim dalı "canlı" branştır. Uygulama şu anda kullanılıyor mu?

Bir güncelleme gerektiğinde, geliştirici ana dalı yerel şubeye çekebilir. Daha sonra, kodlamaya başlayabilir. Sonunda, geliştirici yerel dalından master'a çekin ve itin. Bir Proje yöneticisi ana dalda bir göz atabilir. Dene. Ve hazır olduğunda, üretimi usta ile birleştirebilir. Ve şimdi yeni bir yazılıma sahip olacaksınız.


Bir danışmanlık veya kurumsal durumdaysanız, UAT için bir şubeniz de olabilir.
John MacIntyre

Kabul ediyorum, bu iş akışını kullanıyorum.
Cheung

Yerel ve ana dal arasındaki farkın nedenini açıklayabilir misiniz? Neden çalışan bir üretim versiyonuna sahip olmak istediğinizi anlayabiliyorum, ancak değişiklikleri çektiğinizde / ittiğinizde, yerel bir şube olmasa bile otomatik olarak birleşecek mi?
Luc

1
Yerel dal XXX-özellik-adı olarak adlandırılabildiğinden, üretimde istediğiniz tüm özellik dalının birleşimi olarak ana dalınız olur. Evet: çünkü bazı özellikler dahil edilmeyebilir.
sensorario

7

Basit başlayın ve ihtiyaç duyduğunuz anda ve daha karmaşık bir iş akışı oluşturun.

Ne yaparsanız yapın, başarılı bir Git dallanma modelinin insanların ilk gördüğü şey olmasına izin vermeyin , sadece onları karıştırır ve bunaltır. Daha fazla deneyiminiz olduğunda buna daha sonra bakın.

Merkezi bir gitdepo ile başlamanızı ve üretim ve test yapılarınızı da içeren herkese sahip olmanızı öneririm .

Git deponuzda bir productiondal ve testdal oluşturun.

Geliştiriciler, tamamlanıp birleştirilene kadar kendi yerel veya uzak özellik dallarında çalışmalıdır master. Buradan testtest ortamına yerleştirilmek üzere şubeye birleştirilebilirler ve testleri geçtiklerinde productionşubeye birleştirilebilirler .

Bu şekilde neyin yeni ve denenmemiş olduğunu, neyin test edildiğini ancak henüz üretime yerleştirilmediğini ve aslında neyin üretimde olduğunu görebilirsiniz.


İlginç görüş, ben dikkate alacağını diğer taraftan da olmayan git kullanıcılara çok belli olmayabilir, Git için bir anlaşma kırıcı olmaya git dallanma modeli.
wirrbel

@wirrbel diye bir şey yoktur kullandığınız arzu ne olursa olsun dallanma modeli uygulayabilir git dallanma modeli iş akışınızı sığdırmak için. Burada önerdiğim basit ve deneyimsiz kullanıcılar için başarılı bir Git dallanma modelinden daha iyi olacak, ancak AsGbm muhtemelen daha deneyimli kullanıcılar için daha iyi olacak , ancak bazı takımlar için çok uygun değil (çoklu sürüm tutmak isteyen kişiler) dalları). Dediğim gibi, AsGbm ile ilgili sorun aşırı karmaşık görünebilir olmasıdır. gitgitgit
Mark Booth

Senin değinmek istediğin noktayı anlıyorum. Sadece benim için AsGbm ile başladım (ya da daha çok ihtiyaçlarıma uyarladım).
Git'in svn'den


0

Bütünleştirme sunucusunda bir ana deponuz olması ve her geliştiricinin klonlaması gerekir. Ondan sonra sadece çekin ve itin. Ayrı branşta yeni büyük özellikler geliştirin. Burada roket bilimi yok. Canlı sunucuda - ana veri havuzunu da klonlamanız gerekir. Ve bunun için "yaşamak" gibi bir şubeye sahip olmak iyi bir uygulamadır.


2
Git arşivi, canlı sunucudaki şeyleri doğrudan düzenlemek istemediğiniz varsayımıyla canlı sunucuya dağıtmak için başka bir seçenektir
jk.
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.