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

Pull Request (PR) Süreci

Pull Request (PR) süreci, yazılım geliştirme sürecinin önemli bir bileşenidir ve kod incelemenin yanı sıra ekip içi işbirliğini güçlendirir. PR'lar, bir geliştiricinin yaptığı değişikliklerin diğer ekip üyeleri tarafından gözden geçirilmesine ve onaylanmasına olanak tanır. Bu süreç, kod kalitesini artırmak, hataları tespit etmek ve kod tabanının tutarlılığını sağlamak için kritik öneme sahiptir.

PR Sürecinin Adımları

  1. Yeni Bir Branch Oluşturun:

    • Yeni bir özellik geliştirmek ya da bir hata düzeltmek istediğinizde, development branch'inden bir feature veya bugfix branch oluşturun. Bu, yapılan değişikliklerin izole edilmesine ve kodun ana branch'lere zarar vermeden geliştirilmesine olanak tanır.

    • Örnek:

      git checkout -b feature/login-page development
  2. Değişikliklerinizi Yapın ve Commit Edin:

    • Yeni branch üzerinde gerekli değişiklikleri yapın. Değişiklikleri tamamladıktan sonra, bu değişiklikleri Conventional Commits kurallarına uygun olarak commit edin. Bu kurallar, commit mesajlarının standart hale getirilmesini sağlar ve sürüm yönetiminde kolaylık sağlar.

    • Örnek:

      git commit -m "feat: add login page UI"
    • Conventional Commits Kuralları:

      • feat: Yeni bir özellik eklenmesini ifade eder.

      • fix: Bir hatanın düzeltilmesini ifade eder.

      • docs: Sadece dökümantasyonla ilgili değişiklikleri ifade eder.

      • style: Kodun anlamını etkilemeyen değişiklikleri (boşluk, format vb.) ifade eder.

      • refactor: Ne bir hata düzeltmesi ne de bir özellik eklemesi olan kod değişikliğini ifade eder.

      • test: Eksik testlerin eklenmesini ya da mevcut testlerin düzeltilmesini ifade eder.

      • chore: Build süreci ya da yardımcı araçlarda yapılan değişiklikleri ifade eder.

  3. Branch'i Remote Repository'ye Push'layın:

    • Değişikliklerinizi tamamladıktan sonra, bu branch'i remote repository'ye push'layın. Bu, değişikliklerinizi paylaşabilir hale getirir ve diğer ekip üyelerinin bu değişiklikleri görmesine olanak tanır.

    • Örnek:

      git push origin feature/login-page
  4. PR (Pull Request) Açın:

    • Branch'inizi push'ladıktan sonra, GitHub, GitLab veya benzeri bir platform üzerinden bir PR açın. PR açarken, yapılan değişikliklerin ne olduğunu, neden yapıldığını ve ne amaçla yapıldığını açıklayan bir mesaj yazın. Bu, kodun amacını ve yapılan değişikliklerin etkilerini diğer ekip üyelerinin anlamasına yardımcı olur.

    • PR mesajında şu bilgilere yer vermek önemlidir:

      • Amaç: Bu değişiklik neden yapıldı? (Örneğin, yeni bir özellik eklemek, bir hatayı düzeltmek veya performansı iyileştirmek için)

      • Değişiklikler: Ne tür değişiklikler yapıldı? (Yeni dosyalar eklendi mi, mevcut fonksiyonlar güncellendi mi vb.)

      • Testler: Yapılan değişiklikler test edildi mi? Hangi testler yapıldı ve sonuçları nedir?

      • İlgili Bağlantılar: Bu PR ile ilgili bir iş takip sistemi (JIRA, Trello vb.) kullanılıyorsa, ilgili kart veya görev numarası.

  5. Kod İnceleme ve Geri Bildirim:

    • PR açıldıktan sonra, diğer ekip üyeleri veya yönetici tarafından kod incelemesi yapılır. İnceleme sırasında, kodun kalitesi, anlaşılabilirliği ve projeye uyumu değerlendirilir. Kod inceleme süreci, hataları önceden tespit etmek ve geliştirmelerin genel kalitesini artırmak için çok önemlidir.

    • Geri bildirim aşamasında, geliştiriciye yapılan değişikliklerle ilgili önerilerde bulunulabilir. Bu öneriler, kodun daha verimli, anlaşılır veya standartlara uygun hale getirilmesi için kullanılabilir.

    • Geri bildirimlerin ardından gerekirse değişiklikler yapılır ve PR tekrar gözden geçirilebilir.

  6. PR Onayı ve Merge İşlemi:

    • Tüm inceleme ve geri bildirim süreçlerinden sonra, PR onaylanırsa development branch'ine merge edilir. Bu, yapılan değişikliklerin projeye dahil edilmesi anlamına gelir.

    • Yöneticinin onayı olmadan development, test, veya production branch'lerine merge işlemi yapılmaz. Bu, özellikle test ve production branch'lerinde kod kalitesinin korunmasını ve canlı ortamda beklenmeyen sorunların önlenmesini sağlar.

PR Sürecinin Faydaları

  • Kod Kalitesini Artırır: PR süreci, yapılan değişikliklerin başka bir göz tarafından incelenmesini sağlar. Bu, olası hataların tespit edilmesine ve kod kalitesinin artmasına yardımcı olur.

  • Ekip İçi İşbirliğini Güçlendirir: PR'lar, ekip üyeleri arasında işbirliğini teşvik eder. Herkesin katkı sağladığı ve kod üzerinde geri bildirim verdiği bir ortam oluşturur.

  • Kod Tabanının Tutarlılığını Sağlar: Farklı geliştiricilerden gelen kodların bir araya gelmeden önce incelenmesi, kod tabanının tutarlılığını korur. Bu, projedeki tüm kodların belirli standartlara uygun olmasını sağlar.

  • Sorumluluk Dağılımı: PR süreci, yapılan değişikliklerin yalnızca bir kişi tarafından değil, bir ekip tarafından onaylandığı anlamına gelir. Bu, sorumluluğun paylaşılmasını ve ekipteki herkesin projeye olan bağlılığını artırır.

PR Sürecinde Dikkat Edilmesi Gerekenler

  • Kapsamlı Testler: PR açılmadan önce, yapılan değişikliklerin test edilmesi ve bu testlerin başarılı sonuçlar vermesi gereklidir. Bu, değişikliklerin istenmeyen yan etkilere yol açmadığından emin olmanın en iyi yoludur.

  • Açık ve Anlaşılır İletişim: PR açıklamaları net ve kapsamlı olmalıdır. Diğer ekip üyelerinin, yapılan değişikliklerin amacını ve nasıl çalıştığını anlaması için yeterli bilgi sağlanmalıdır.

  • Geri Bildirimlere Açık Olma: Kod incelemesi sırasında gelen geri bildirimler, geliştiriciye kodunu iyileştirme fırsatı sunar. Yapıcı eleştirilere açık olmak ve gerekirse değişiklikleri gözden geçirmek önemlidir.

  • Kapsam Belirleme: PR'ların kapsamı net bir şekilde belirlenmeli ve bir PR içerisinde çok fazla değişiklik yapılmamalıdır. Bu, inceleme sürecini karmaşıklaştırabilir ve hata riskini artırabilir.

Örnek PR İş Akışı

Aşağıda, yeni bir özellik eklenirken izlenebilecek bir PR iş akışı verilmiştir:

git checkout -b feature/login-page development # Kod değişiklikleri yapılır git commit -m "feat: add login page UI" git push origin feature/login-page # GitHub veya benzeri platformda PR açılır ve onaylanır

Yukarıdaki adımlar, yeni bir özellik üzerinde çalışırken izlenecek standart bir PR sürecini göstermektedir. PR, kodun kalitesini ve işlevselliğini kontrol etmek için etkili bir yoldur ve tüm ekip üyelerinin katkıda bulunmasını sağlar.

Pull Request Süreci Diyagramı

PR Süreci için Ek Araçlar ve En İyi Uygulamalar

  • Code Review Tools: PR sürecini daha verimli hale getirmek için GitHub, GitLab gibi platformların sunduğu kod inceleme araçlarını kullanabilirsiniz. Bu araçlar, kodunuzu yorumlamayı, hataları işaretlemeyi ve değişiklik taleplerini yönetmeyi kolaylaştırır.

  • CI/CD Entegrasyonu: PR süreci ile Continuous Integration (CI) ve Continuous Deployment (CD) sistemlerini entegre etmek, kodun otomatik olarak test edilmesini ve hataların erken tespit edilmesini sağlar.

  • Kod Standartları ve Linter Kullanımı: Kod kalitesini artırmak için kod standartlarını ve linter araçlarını kullanmak, PR sürecinde ortak bir dil oluşturmanıza yardımcı olur.

Last modified: 23 August 2024