Etkili Git Kullanımı: Branch, PR, Commit ve Sürüm Yönetimi Rehberi Help

Git Branch Yapısı ve Örnekler

Git branch yapısı, geliştirme sürecinizin verimli ve düzenli bir şekilde yürütülmesini sağlar. Bu yapı, ekip üyelerinin birbirlerinin çalışmalarını kesintiye uğratmadan yeni özellikler eklemelerine, hata düzeltmelerine ve kritik güncellemeler yapmalarına olanak tanır. Aşağıda, yaygın olarak kullanılan branch türlerini ve bunların nasıl kullanıldığını açıklıyoruz.

Ana Branch'ler

Ana branch'ler, yazılımın farklı aşamalarını temsil eden ve ekibin tüm üyeleri tarafından ortak olarak kullanılan branch'lerdir. Bu branch'ler, projenin gelişim sürecini organize eder ve kodun hangi aşamada olduğunu belirler.

  • production: Bu branch, canlı ortamda çalışan, son kullanıcıların erişebileceği stabil kodu içerir. Production branch'ine yalnızca test edilmiş ve onaylanmış kodlar merge edilir. Bu nedenle, production branch'i her zaman dağıtıma hazır kodu temsil eder. Bu branch üzerinde yapılacak hatalar, doğrudan kullanıcıları etkileyebileceği için son derece dikkatli olunmalıdır.

    • Örnek Kullanım: Eğer test süreci tamamlanmış ve canlıya alınacak bir değiş

    • iklik mevcutsa, bu değişiklik production branch'ine şu şekilde merge edilir:

git checkout production git merge test
  • development: Geliştirme sırasında kullanılan ana branch'tir. Yeni özelliklerin geliştirilmesi ve hata düzeltmelerinin yapılması bu branch üzerinde gerçekleşir. development branch'i, ekibin bir araya gelerek çalıştığı ve henüz üretim ortamına geçmemiş olan en son kodu içerir. Bu branch, genellikle sık sık güncellenir ve diğer feature branch'lerden gelen değişiklikler burada toplanır. Ancak, development branch'ine yapılacak merge istekleri (pull request) yalnızca yönetici tarafından incelenir ve onaylanır.

    • Örnek Kullanım: Yeni bir özellik üzerinde çalışmaya başlamak için development branch'inden bir feature branch oluşturulur:

git checkout -b feature/login-page development
  • test: test branch'i, development branch'inde tamamlanan değişikliklerin test edilmesi için kullanılır. Kodlar, production branch'ine geçmeden önce bu branch üzerinde test edilir. Bu branch, hata ayıklama ve test süreçleri için idealdir. test branch'ine yapılacak tüm merge işlemleri yalnızca yönetici tarafından gerçekleştirilir.

    • Örnek Kullanım: Development branch'indeki kodun test edilmesi için test branch'ine merge edilir:

git checkout test git merge development

Feature ve Bugfix Branch'leri

  • feature/{özellik-adı}: Yeni bir özellik geliştirilirken kullanılan branch türüdür. feature branch'leri, development branch'inden oluşturulur ve geliştirme tamamlandığında yine development branch'ine merge edilir. Bu branch'ler, farklı özelliklerin bağımsız olarak geliştirilmesine olanak tanır ve diğer geliştiricilerin çalışmalarını etkilemeden ilerlemesini sağlar.

    • Örnek Kullanım: "user-authentication" adlı bir özellik geliştirmek için şu adımlar izlenir:

      git checkout -b feature/user-authentication development

      Geliştirme tamamlandıktan sonra feature branch'i development branch'ine merge edilir:

      git checkout development git merge feature/user-authentication
  • fix/{hata-adı}: Hata düzeltmeleri için kullanılan branch türüdür. Bu branch'ler, development branch'inden oluşturulur ve hata düzeltmesi tamamlandıktan sonra tekrar development branch'ine merge edilir. fix branch'leri, hata düzeltme süreçlerini izole eder ve bu sayede diğer geliştirme süreçleriyle çakışmaların önüne geçilir.

    • Örnek Kullanım: Giriş formundaki bir hatayı düzeltmek için şu adımlar izlenir:

git checkout -b fix/login-issue development

Hata düzeltmesi tamamlandıktan sonra fix branch'i development branch'ine merge edilir:

git checkout development git merge fix/login-issue

Hotfix Branch'leri

  • hotfix/{hata-adı}: Üretim ortamındaki kritik hataların acil olarak düzeltilmesi için kullanılan branch türüdür. hotfix branch'leri, doğrudan production branch'inden oluşturulur ve düzeltme tamamlandığında hem production hem de development branch'lerine merge edilir. Bu branch'ler, anında müdahale gerektiren sorunları izole ederek hızla çözüm getirmeyi amaçlar. production ve development branch'lerine yapılacak bu merge işlemleri de yalnızca yönetici tarafından gerçekleştirilir.

    • Örnek Kullanım: Canlı ortamda ortaya çıkan kritik bir hatayı düzeltmek için şu adımlar izlenir:

git checkout -b hotfix/critical-bug production

Hata düzeltmesi tamamlandıktan sonra hotfix branch'i önce production ardından development branch'ine merge edilir:

git checkout production git merge hotfix/critical-bug git checkout development git merge hotfix/critical-bug

Not: Development, test ve production branch'lerine yapılacak tüm merge işlemleri ve pull request'ler, yalnızca yönetici tarafından incelenir ve onaylanır. Bu süreç, kodun kalitesini ve stabilitesini korumak için önemlidir.

Git Branch Yapısı Diyagramı
Last modified: 23 August 2024