Birincisi, git'de her pullşeyin tam anlamıyla bir dallanma işlemi olduğunu ve her pushbirinin bir birleşme olduğunu belirtmek isterim . masterBir geliştiricinin makinede gelen tamamen ayrı bir dalıdır masterteknik açıdan eşit ayakta ile, paylaşmak merkezi repo. upstreamAmaçlarıma daha uygunsa , zaman zaman yerel sürümümü veya başka bir şeyi yeniden adlandırırım .
Bunu işaret ediyorum, çünkü birçok kurum şubeleri meslektaşınızdan daha etkili kullandıklarını düşünüyor, gerçekten de bir şube için ek bir isim oluşturmaktan başka bir şey yapmıyorlardı. Eğer meslektaşınız bir atomik taahhütte özellikler taahhüt ediyorsa, bir özellik dalının birleştirme taahhüdü kadar geri çekilmek kolaydır. Özellik dallarının büyük çoğunluğu çok kısa ömürlü olmalı ve yine de sık sık birleştirilmelidir.
Olduğu söyleniyor, çalışma tarzının ana dezavantajları iki yönlüdür. İlk olarak, bitmemiş bir özellik üzerinde işbirliği yapmayı çok zorlaştırır. Bununla birlikte, işbirliğinin gerekli olduğu zamanlarda şube oluşturmak zor olmaz.
İkincisi, birleşmeden önce incelemeyi çok zorlaştırır. Bu noktada, onu gerçekten ikna etmeniz gerekmez. Github, gerrit veya gitlab gibi bir araç benimseyebilir ve tüm istekleri kapsayan çekme isteği kodu incelemeleri ve otomatikleştirilmiş testlerden geçebilirsiniz. Böyle bir şey yapmıyorsanız, açıkçası git'i tam potansiyeli için kullanmıyorsunuzdur ve meslektaşınızın bu potansiyeli görmemesi şaşırtıcı değildir.