Geçtiğimiz günlerde GIT'deki özellik branşlarının yeniden yaratılması stratejisine kesinlikle karşı çıkan insanlarla bir tartışma yaptım. Rebase'ı yalnızca yerel, özel dallar için kullanmak kabul edilmiş bir kalıp gibi gözüküyor, ancak aynı özellik ve dalda çalışan birkaç kişi varken, "Sözde Yeniden Yapılanmanın Altın Kuralı" (buradaki gibi: https) : //www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview )
Bu konuda bir fikir birliği olmasına şaşırdım. 3 yıl boyunca tam bir yeniden doğuş stratejisiyle çalıştım, yaklaşık 20 geliştirici birlikte çalıştı ve ne olduğunu tahmin etti, işe yaradı.
İşlem temelde:
- Özellik dalınızı oluşturursunuz, hadi buna "özellik" diyelim ve kökene / etki alanıma itelim
- Diğer insanlar kontrol edebilir ve üzerinde çalışabilir
- Bazen onu ustadan yeniden değerlendirebilirsiniz: "myfeature" den, git rebase origin / master ; ve sonra, evet, onu zorlaman gerekiyor.
- Diğer insanlar taahhütlerini zorlamak istediğinde ne olur? Onlar sadece yeniden rebase: git rebase kökenli / myfeature . Böylece şimdi hızlı ileri sarılıyorlar ve zorlamadan zorlayabilirler.
Saygı duyulan ilk prensip , özellik branşının birine ait olmasıdır . İcra edebilen tek kişi sahibidir.
Bu yüzden itiraf ediyorum: bir itme kuvveti olduğu anda hata yapma riski vardır. Bu doğru. Ancak hatalardan kurtulmanın birçok yolu var ve gerçekten, 3 yıllık gelişimde, çok fazla zorlayıcı hata görmedim ve bu gerçekleştiğinde, her zaman gerektiği gibi düzeltmenin bir yolunu bulduk.
Peki, neden bu "Rebase'ın Altın Kuralı" bu kadar yaygın kabul görüyor? Kaçırdığım başka bir şey var mı? Minimum organizasyon gerektiriyor (her strateji bazı organizasyonlar gerektiriyor) ama işe yarıyor.