GitHub “Pull Request” (PR), platformun ve genel olarak açık kaynaklı yazılım geliştirmenin temel taşlarından biridir.Kısaca, Pull Request (PR), bir projenin kod tabanına yapmayı teklif ettiğiniz değişiklikleri içeren bir taleptir.

“Pull Request” (PR) Nedir?

“Pull Request” terimini “Çekme Talebi” olarak Türkçeleştirebiliriz. Mantığı şudur:

Bir projeye (repository) katkıda bulunmak istediğinizde, genellikle ana kod tabanına (genellikle main veya master adlı “branch” yani dal) doğrudan kod yazma izniniz olmaz. Bu, kodun kalitesini ve tutarlılığını korumak için yapılır.

Bunun yerine siz:

  1. Projenin bir kopyasını (size ait değilse “fork”) ya da kendi “branch”inizi oluşturun.
  2. Değişiklikleri bu dal üzerinde gerçekleştirin.
  3. Ardından proje sahibine bir “Pull Request” gönderin.

Bu talep, proje sahibine resmi olarak şunu der: “Merhaba, ben şu değişiklikleri yaptım. Lütfen bu değişiklikleri gözden geçir ve uygun görürsen, benim dalımdan (head) alıp ana dala (base) ‘çek’ (pull) ve birleştir (merge).”

Pull Request’in Amacı Nedir?

  • Kod Gözden Geçirme (Code Review): Proje yöneticileri veya diğer ekip üyeleri, değişikliklerinizi satır satır inceler, yorum yapabilir ve düzeltme isteyebilir.
  • Tartışma: Değişiklikler üzerine bir tartışma platformu sağlar.
  • Otomatik Testler (CI/CD): PR açıldığında, (eğer ayarlanmışsa) otomatik testler çalışır ve yaptığınız değişikliğin mevcut sistemi bozup bozmadığı kontrol edilir.
  • Kontrollü Entegrasyon: Ana kod tabanının (production) her zaman stabil ve çalışır kalmasını sağlar. Onaylanmamış hiçbir kod ana projeye dahil edilmez.

GitHub Web Sitesi Üzerinden Adım Adım Pull Request Nasıl Yapılır?

İşte GitHub arayüzünü kullanarak sıfırdan bir PR oluşturma süreci:

Adım 1: Projeyi “Fork”layın veya Yeni bir “Branch” Oluşturun

Değişiklikleri yapacağınız güvenli bir alana ihtiyacınız var.

  • Açık kaynak projeye katkı sunmak için: (Örn: Açık Kaynak Proje):
    1. Katkıda bulunmak istediğiniz projenin (repository) ana sayfasına gidin.
    2. Sağ üst köşedeki “Fork” butonuna tıklayın. Bu, projeyi kendi GitHub hesabınız altına kopyalar. Artık bu kopyanın sahibi sizsiniz.
  • Eğer projede yazma izniniz varsa (Örn: Kendi Ekibiniz):
    1. “Fork”lamanıza gerek yoktur. Doğrudan projenin ana sayfasında kalın.

Adım 2: Yeni bir “Branch” (Dal) Oluşturun

Değişiklikleri asla doğrudan main (ana) dal üzerinde yapmayın.

  1. “Fork”ladığınız (veya ana) projenin ana sayfasına gelin.
  2. Sol tarafta, dosya listesinin üzerinde içinde main yazan bir buton göreceksiniz. Ona tıklayın.
  3. Açılan kutucuğa, yapacağınız değişikliği özetleyen kısa bir isim yazın (örn: dokumantasyon-duzeltmesi veya yeni-giris-ozelligi).
  4. “Create branch: [yazdığınız-isim]…” seçeneğine tıklayın.
  5. Artık bu yeni daldasınız. URL’de .../tree/[yazdığınız-isim] ifadesini göreceksiniz.

Adım 3: Değişikliklerinizi Yapın (Dosya Düzenleme/Ekleme)

Şimdi kodunuzu veya dosyalarınızı web arayüzünden düzenleyebilirsiniz.

  1. Düzenlemek istediğiniz dosyayı bulun ve üzerine tıklayın.
  2. Dosya içeriğinin sağ üst köşesindeki kalem ikonuna (Edit this file) tıklayın.
  3. Gerekli değişiklikleri yapın.
  4. Sayfanın altına inin. “Commit changes” (Değişiklikleri kaydet) kutusunu göreceksiniz.
  5. Buraya yaptığınız değişikliği özetleyen kısa bir başlık ve (isteğe bağlı) detaylı bir açıklama yazın.
  6. “Commit directly to the [yazdığınız-isim] branch.” seçeneğinin işaretli olduğundan emin olun.
  7. “Commit changes” butonuna basın.

(Birden fazla dosyayı düzenlemeniz veya yeni dosya (“Add file”) eklemeniz gerekiyorsa, her biri için bu adımı tekrarlayabilirsiniz.)

Adım 4: Pull Request’i Başlatın

Değişikliklerinizi kendi dalınıza kaydettiğinize göre, şimdi bunları ana projeye gönderme zamanı.

  1. Değişikliği “commit”ledikten hemen sonra, GitHub genellikle projenizin ana sayfasında sarı bir bildirim çubuğu gösterir: “Your branch is 1 commit ahead of main.”
  2. Bu bildirimin yanındaki yeşil “Compare & pull request” butonuna tıklayın.

Eğer bu butonu görmezseniz:

  1. Projenizin ana sayfasına gidin.
  2. “Pull requests” sekmesine tıklayın.
  3. “New pull request” butonuna tıklayın.

Adım 5: Pull Request Formunu Doldurun (“Open a pull request”)

Bu, PR’ınızın vitrinidir ve en önemli adımlardan biridir.

  1. GitHub size “base” ve “head” dallarını gösterir:
    • base repository: Değişikliğin gitmesini istediğiniz ana proje (örn: orijinal-proje/main).
    • head repository: Değişiklikleri yaptığınız yer (örn: sizin-hesap/dokumantasyon-duzeltmesi).
    • Bunların doğru olduğundan emin olun.
  2. Başlık (Title): Yaptığınız değişikliği net bir şekilde özetleyen bir başlık yazın. (Örn: “Dokümantasyondaki yazım hatası düzeltildi”).
  3. Açıklama (Description): Burası çok önemlidir.
    • Neyi değiştirdiğinizi açıklayın.
    • Neden bu değişikliği yaptığınızı belirtin (Hangi sorunu çözüyor?).
    • Eğer bu PR, proje listesindeki bir “Issue” (Sorun) kaydını kapatıyorsa, Closes #123 (123 yerine ilgili issue numarası) yazın. Böylece PR kabul edildiğinde o sorun otomatik olarak kapanır.
  4. (İsteğe bağlı) Sağ taraftan “Reviewers” (Gözden Geçiriciler) veya “Assignees” (Atananlar) seçebilirsiniz.

Adım 6: “Create Pull Request” Butonuna Tıklayın

Her şeyi doldurduktan sonra yeşil “Create pull request” butonuna tıklayın.

Tebrikler! İlk Pull Request’inizi oluşturdunuz.


PR Oluşturduktan Sonra Ne Olur?

  • Gözden Geçirme: Proje yöneticileri ve etiketlediğiniz kişiler PR’ınızı incelemeye başlar.
  • Yorumlar: Kodunuzun belirli satırlarına yorum yapabilir veya genel değişiklik isteyebilirler.
  • Güncelleme: Eğer sizden bir değişiklik istenirse, yeni bir PR açmanıza GEREK YOKTUR. Sadece 3. Adım’daki gibi kendi dalınıza (dokumantasyon-duzeltmesi) gidin, istenen değişikliği yapıp tekrar “Commit” edin. Yaptığınız bu yeni commit, açık olan Pull Request’inize otomatik olarak eklenecektir.
  • Birleştirme (Merge): Herkes değişikliklerden memnun kaldığında ve (varsa) otomatik testler başarıyla geçtiğinde, proje yöneticisi “Merge pull request” butonuna basar ve kodunuz ana projeye dahil edilir.