🧾 Pull Request: Açma, Review, Onay, Ret ve Conflict Çözümü
Pull Request: Açma, Review, Onay, Ret: Pull Request, bir binaya çıkılan iskele malzemesinin kapıda imzayla teslim alınması gibidir: malzeme (kod) sahaya girmeden önce ne getirdiğ
Pull Request, bir binaya çıkılan iskele malzemesinin kapıda imzayla teslim alınması gibidir: malzeme (kod) sahaya girmeden önce ne getirdiğin (diff), neden getirdiğin (açıklama) ve testten geçip geçmediği (CI) kayda geçer, sonra yetkili bir kişi imzalar. Peki testler zaten yeşilse, insan review’u neden hâlâ gerekli — makine onayladıysa iş bitmedi mi? Çünkü CI yalnızca "kod çalışıyor mu" sorusunu yanıtlar; "bu doğru çözüm mü, altı ay sonra bakımı yapılabilir mi, yanlışlıkla bir güvenlik kapısı mı açtık" sorularını yanıtlamaz — bunlar bağlam gerektirir. Java dünyasında buna en yakın şey, bir kütüphaneyi merkezî repoya yayınlamadan önce yapılan sürüm gözden geçirmesidir; fark şu ki PR bu tartışmayı toplantıya değil, satır satır kodun yanına iliştirir ve kalıcı bir kayıt bırakır. QA açısından PR’ın asıl değeri şudur: yıllar sonra bir regresyonun kökünü aradığında, `git blame` seni yalnızca satırı değiştiren kişiye değil, o değişikliğin NEDEN yapıldığını tartışan konuşmaya götürür. Conflict çıktığında ise PR, iki niyeti aynı ekranda yan yana koyar ve kararı tahmine değil, konuşmaya bırakır.
github-pull-request-ui-tour
GitHub Pull Request ekran turu: compare, create, review ve merge
GitHub benzeri PR arayüzünü gez: Pull requests tabı, branch karşılaştırma, Create pull request formu, Conversation, Files changed, review kararı, checks ve merge butonu.
Pull Request aslında ne işe yarar?
Try It Yourself: GitHub arayüzünden PR aç
Feature branch GitHub’a push edildikten sonra Pull Request ekranında hangi alanları hangi sırayla dolduracağını dene.
Repository üst menüsünden Pull requests tabına gir
Hedef branch main olmalı
Karşılaştırılacak branch feature branch olmalı
Compare ekranından PR formuna geç
Başlık değişikliğin amacını söylemeli
Açıklamaya test kanıtını yaz
Code review nasıl yapılır?