Kısacası: En iyi uygulama daldırmak, sık sık birleştirmek ve daima senkronize tutmaktır .
Kodunuzu ana daldan ayrı bir dalda tutmakla ilgili oldukça net anlaşmalar vardır:
- Büyük veya yıkıcı bir değişimin uygulamasını yapmak üzeresiniz
- Kullanılmayacak bazı değişiklikler yapmak üzeresiniz
- İşe yarayacağından emin olmadığınız bir şey üzerinde deneme yapmak istiyorsunuz
- Dışarıya dalmanız söylendiğinde, başkalarının ustalıkta yapması gereken bir şey olabilir.
Başparmak kuralı dallanma sonrasıdır, ana dal ile senkronize olmalısınız. Çünkü nihayetinde ustalaşmak için birleştirmen gerekiyor. Birleşirken büyük bir karmaşık çatışma karmaşasından kaçınmak için sık sık işlem yapmalı, sık sık birleşmelisiniz.
İzlenecek iyi uygulamalar
Başarılı Git dallanma modeli ile Vincent Driessen iyi öneri bulunmaktadır. Bu dallanma modeli size hitap ediyorsa, git'e giden akım uzantısını göz önünde bulundurun . Diğerleri akış hakkında yorum yaptı .
Etiketleme uygulamaları
Bildiğiniz gibi Git, size 1.0-2-g1ab3183 gibi tanıtıcılar verir, ancak bunlar etiket değildir! Etiketleme, git etiketiyle yapılır ve git etiketi kullanılarak oluşturulan etiketler, git'in oluşturduğu iş tanımlayıcıları için temel oluşturur. Başka bir deyişle Git'te dalları etiketlemezsiniz. Etiketliyorsunuz. Bu etiketin yalnızca bir taahhüt için açıklamalı bir işaretçi olduğunu söylemek doğrudur.
Bunu gösteren pratik örneğe bakalım,
/ - [v1.0]
v
---. ---. --- .--- S ---.--- A <- usta
\
\ -.--- B <- test
'S' işini 'v1.0' etiketiyle işaretlenin. Bu taahhüt, hem dalda hem de dalda 'test'tedir. Eğer " git tanımla " yı "A" ("usta" şubesinin başı ") taahhüdünün üstüne koyarsanız, buna benzer bir şey elde edersiniz v1.0-2-g9c116e9
. Eğer 'A' ('test' dalı olarak adlandırılan) taahhüdünün üstüne "git tanım" koyarsanız v1.0-2-g3f55e41
, varsayılan git-tanım konfigürasyonunda durum böyle olur. Bu sonucun biraz farklı olduğunu unutmayın. etiketten sonra v1.0-2-g9c116e9
sıralanan 9c116e9
2 sıralı SHA-1 kimliği ile bağlı olduğumuz anlamına gelir v1.0
. Etiket yok v1.0-2
!
Etiketinizin yalnızca 'master' dalında görünmesini istiyorsanız, 'test' dalının dallanma noktasından sonra yeni bir taahhüt oluşturabilirsiniz (örn. GIT-VERSION-FILE içindeki varsayılan / yedek sürüm bilgilerini güncelleyin). Eğer etiketlemek, örneğin 'v1.0.3' ile 'test' dalında taahhütte bulunursa, sadece 'test'ten görülebilir.
Referanslar
Öğrenecek çok, çok yararlı blog ve yazı buldum. Ancak, profesyonel olarak gösterilenler nadirdir. Bu nedenle, postn önermek istiyorum - Başarılı bir Git dallanma modeli @ nvie. Onun resmini ödünç aldım :)