Branch Stratejisi
Geliştirme sürecinde düzenli ve etkili bir iş akışı sağlamak için belirli bir branch stratejisi izlemek önemlidir. Bu strateji, kodun nasıl yönetileceğini, hangi branch'lerin ne amaçla kullanılacağını ve bu branch'ler arasında nasıl geçiş yapılacağını belirler.
Ana Branch'ler
Ana branch'ler, yazılımın belirli aşamalarını temsil eder ve genellikle projenin tamamlanmış, test edilmiş ve stabil kodunu içerir. Bu branch'ler, ekibin tüm üyeleri tarafından ortak olarak kullanılır ve proje boyunca süreklilik sağlar.
mainveyamaster: Bu branch, üretim ortamında çalışan en son sürüm kodunu içerir.mainveyamasterbranch'i, her zaman kararlı ve dağıtıma hazır kodu temsil eder. Projede yapılan tüm değişiklikler, test edildikten ve onaylandıktan sonra bu branch'e merge edilir.Örnek:
git checkout main git merge hotfix/critical-bug
development:developmentbranch'i, devam eden geliştirme çalışmaları için kullanılan ana branch'tir. Yeni özellikler ve hata düzeltmeleri bu branch üzerinde gerçekleştirilir. Bu branch, ekibin bir araya gelerek çalıştığı ve henüz üretim ortamına geçmemiş olan en son kodu içerir.Örnek:
git checkout development git merge feature/user-authentication
Feature Branch'ler
Feature branch'ler, yeni özellikler geliştirilirken kullanılır. Bu branch'ler, development branch'inden oluşturulur ve geliştirme tamamlandığında development branch'ine merge edilir. Bu süreç, farklı özelliklerin bağımsız olarak geliştirilmesine olanak tanır.
Örnek:
git checkout -b feature/user-authentication developmentGeliştirme tamamlandıktan sonra:
git checkout development git merge feature/user-authentication
Bugfix Branch'ler
Bugfix branch'ler, acil hata düzeltmeleri için kullanılır. Bu branch'ler, development branch'inden oluşturulur ve hata düzeltmesi tamamlandığında tekrar development branch'ine merge edilir. Bugfix branch'leri, hata düzeltme süreçlerini izole eder ve diğer geliştirme süreçleriyle çakışmaların önüne geçer.
Örnek:
git checkout -b fix/login-issue developmentHata düzeltmesi tamamlandıktan sonra:
git checkout development git merge fix/login-issue
Hotfix Branch'ler
Hotfix branch'ler, üretim ortamındaki kritik hataların acil olarak düzeltilmesi için kullanılır. Bu branch'ler, doğrudan main veya `master
branch'inden oluşturulur ve düzeltme tamamlandığında hemmainhem dedevelopment` branch'lerine merge edilir. Bu süreç, kritik sorunların hızla çözülmesini ve projenin kararlı kalmasını sağlar.
Örnek:
git checkout -b hotfix/critical-bug mainDüzeltme tamamlandıktan sonra:
git checkout main git merge hotfix/critical-bug git checkout development git merge hotfix/critical-bug
Branch Stratejisinin Faydaları
Düzenli ve Organize Bir Geliştirme Süreci Sağlar: Belirli bir branch stratejisi izlemek, ekip üyelerinin hangi branch'ler üzerinde çalıştığını ve bu branch'lerin ne amaçla kullanıldığını net bir şekilde anlamalarını sağlar.
Çakışmaları Minimize Eder: Farklı branch'ler üzerinde çalışmak, geliştiricilerin birbirlerinin çalışmalarını kesintiye uğratmadan işlerini yapmalarına olanak tanır. Bu, çakışmaları ve hata riskini azaltır.
Sürüm Yönetimini Kolaylaştırır: Ana branch'lerin stabil kalması, sürüm yönetimini daha öngörülebilir ve yönetilebilir hale getirir.