Git Flow İş Akışı: Adım Adım Sürüm Yönetimi Rehberi

Yazılım Geliştirmede Sürüm Yönetimi Neden Hayatidir?
Modern yazılım geliştirme süreçlerinde, birden fazla geliştiricinin aynı anda aynı kod tabanı üzerinde çalışması kaçınılmazdır. Eğer sağlam bir stratejiniz yoksa, kod çakışmaları, kaybolan özellikler ve production ortamında patlayan hatalar kaçınılmaz hale gelir. İşte tam bu noktada Git Flow, projelerinize düzen getiren endüstri standardı bir iş akışı olarak karşımıza çıkar.
Git Flow Nedir ve Temel Dalları Nelerdir?
Vincent Driessen tarafından 2010 yılında ortaya atılan Git Flow, Git versiyon kontrol sistemi için tasarlanmış yapısal bir dallanma (branching) modelidir. Projenin yaşam döngüsünü belirli roller üstlenen ana ve yardımcı dallar üzerinden yönetir.
- Master (Main): Üretime (Production) hazır, canlıdaki en güncel ve kararlı kodun bulunduğu daldır.
- Develop: Bir sonraki sürüm için yapılan tüm geliştirmelerin ve entegrasyonların toplandığı ana geliştirme dalıdır.
- Feature Branches: Yeni özelliklerin (feature) geliştirildiği, işimiz bittiğinde develop dalına birleştirilen geçici dallardır.
- Release Branches: Yeni bir sürüm yayınlanmadan önceki son hazırlıkların, testlerin ve küçük hata düzeltmelerinin yapıldığı dallardır.
- Hotfix Branches: Canlı sistemde (Production) acilen müdahale edilmesi gereken kritik hatalar için açılan ve doğrudan master ile develop dallarına aktarılan acil durum dallarıdır.
Adım Adım Git Flow Kurulumu ve Kullanımı
Projelerinizde Git Flow kullanmaya başlamak oldukça basittir. Terminal üzerinden manuel olarak yönetebileceğiniz gibi, komut satırı araçlarıyla otomatize de edebilirsiniz. İşte pratik bir senaryo ile adım adım uygulama:
- Mevcut bir Git repository içerisindeyken Git Flow'u başlatın:
git flow init - Gelen yapılandırma sorularında varsayılan dal isimlerini (master, develop vb.) kabul edin.
- Yeni bir özellik geliştirmek için feature dalı açın:
git flow feature baslat musteri-girisi - Geliştirmenizi tamamlayıp commit'ledikten sonra dalı kapatın ve develop'a birleştirin:
git flow feature bitir musteri-girisi
Git Flow, özellikle uzun soluklu ve büyük ekiplerin çalıştığı projelerde, kimin neyi ne zaman geliştirdiğini takip etmeyi inanılmaz derecede kolaylaştırır.
Sürüm Alma (Release) ve Canlıya Çıkış Süreci
Develop dalında biriken özellikler yeterli olgunluğa ulaştığında, bir sürüm (release) dalı açma vakti gelmiştir. git flow release baslat v1.0.0 komutu ile bu süreci başlatabilirsiniz. Bu aşamada artık yeni özellik eklenmez, sadece son kullanıcı testleri (QA) ve dokümantasyon güncellemeleri yapılır. İşlemler bittiğinde git flow release bitir v1.0.0 komutu kodu hem master dalına hem de develop dalına merge eder.
Sık Yapılan Hatalar ve En İyi Pratikler
Her metodolojide olduğu gibi Git Flow kullanırken de dikkat edilmesi gereken bazı ince çizgiler vardır. Küçük ölçekli, tek kişilik projelerde Git Flow aşırı mühendislik (over-engineering) yaratabilir. Bu tarz durumlarda daha sade olan *GitHub Flow* tercih edilebilir. Ancak enterprise seviyedeki kurumsal projelerde Git Flow, kusursuz bir audit trail ve güvenli sürüm yönetimi sunar. Dal isimlerinde standartlara uymak ve commit mesajlarını açıklayıcı yazmak ekibin işini her zaman kolaylaştıracaktır.
Mehmet Sancak
Sistem yöneticisi ve kurucu geliştirici.



Comments0
No content found yet.
Leave a Comment