Pull Request
- Türkçe karşılığı
- çekme isteği
- Okunuşu
- pul rikuest
Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.
Kısaca
Pull request, bir branch'teki değişiklikleri başka bir branch'e birleştirme önerisidir; kod birleşmeden önce ekibe inceleme, tartışma ve test alanı sunar.
Pull request nedir?
Sıklıkla PR olarak kısaltılan pull request, geliştiricilerin değişikliklerinin ortak koda eklenmesini istemesinin yoludur. Commit'lerinizi içeren bir branch'i barındırma platformuna push eder ve bunun hedef branch'e, genellikle main'e birleştirilmesini isteyen bir pull request açarsınız. Pull request, neyin değiştiğini satır satır, nedenini anlatan bir açıklamayla birlikte gösterir.
Pull request'ler kod incelemesinin merkezindedir. Ekip arkadaşları belirli satırlara yorum bırakabilir, değişiklik isteyebilir ya da işi onaylayabilir. Çoğu ekip ayrıca pull request'leri CI/CD hatlarına bağlar; böylece her güncellemede otomatik testler ve denetimler çalışır ve pull request birleştirilmeden önce bunların geçmesi gerekir.
Pull request'ler Git'in değil GitHub, Bitbucket ve Azure DevOps gibi barındırma platformlarının bir özelliğidir; GitLab aynı şeyi merge request adıyla sunar. Ad, projenin bakımcılarından değişikliklerinizi kendi branch'lerine çekmelerini (pull) istemeniz fikrinden gelir.
Pull request açmak, bir makale taslağını editöre sunmaya benzer. Editör okur, düzenleme önerir ve yalnızca yayının standartlarını karşıladığında yayımlar. Küçük ve odaklı pull request'leri incelemek, aynı anda birçok şeyi değiştiren büyük olanlara göre çok daha kolay ve hızlıdır.
Bir bakışta
Önemli noktalar
- Pull request, bir branch'in başka bir branch'e birleştirilmesini önerir.
- Kod incelemesi, tartışma ve onay için ana yerdir.
- Otomatik testler genellikle birleştirmeden önce her pull request'te çalışır.
- GitLab aynı özelliğe merge request der.
- Küçük ve odaklı pull request'ler daha hızlı ve daha kapsamlı incelenir.
Örnek
# Create a branch and commit your work
git switch -c fix/login-redirect
git commit -am "Fix login redirect loop"
# Push the branch to the remote repository
git push -u origin fix/login-redirect
# Then open the pull request in your hosting platform's web UI,
# or from the terminal with its CLI tool (GitHub's is shown here)
gh pr create --base main --title "Fix login redirect loop"Sık sorulan sorular
Pull request ile merge request arasındaki fark nedir?
Aynı kavramın farklı adlarıdır. GitHub, Bitbucket ve Azure DevOps buna pull request, GitLab ise merge request der.
Pull request Git'in bir parçası mı?
Tam olarak değil. Git'te e-postayla göndermek üzere değişikliklerin özetini üreten bir git request-pull komutu vardır; ancak çoğu geliştiricinin kullandığı, inceleme ve yorum içeren etkileşimli pull request'ler Git'in üzerine kurulu barındırma platformlarının özellikleridir.
Bir pull request ne kadar büyük olmalı?
Pratikte olabildiğince küçük, ideal olarak tek bir değişikliğe odaklı. Birçok ekip, birkaç yüz satır ya da daha azını hedefler; çünkü küçük değişiklikler daha dikkatli incelenir ve daha çabuk birleştirilir.
İlgili sayfalar
- GitSürüm Kontrolü, s. 10Git, dosyalardaki değişiklikleri zamanla izleyen ücretsiz, açık kaynaklı dağıtık sürüm kontrol sistemidir; iş birliğini ve hataları geri almayı kolaylaştırır.
- BranchSürüm Kontrolü, s. 2Git'te branch, bir özellik ya da düzeltme üzerinde, birleştirene kadar ana kodu etkilemeden çalışmanızı sağlayan bağımsız bir geliştirme hattıdır.
- MergeSürüm Kontrolü, s. 29Git'te merge, bir branch'teki değişiklikleri başka bir branch'e katarak ayrı geliştirme hatlarını tek ve ortak bir geçmişte yeniden birleştirir.
- CommitSürüm Kontrolü, s. 5Commit, Git'te projenin dosyalarının; benzersiz bir kimlik, yazar, zaman damgası ve değişikliği anlatan bir mesajla kaydedilmiş anlık görüntüsüdür.
- CI/CDDevOps ve Bulut, s. 9CI/CD, kod değişikliklerini sık sık derleyen, test eden ve yayınlayan otomatik pratikler bütünüdür; yazılım kullanıcılara hızlı ve güvenli biçimde ulaşır.
- DevOpsDevOps ve Bulut, s. 13DevOps, yazılım geliştirme ile BT operasyonlarını birleştirerek yazılımın daha hızlı ve güvenilir sunulmasını sağlayan bir kültür ve pratikler bütünüdür.
- GitHubSürüm Kontrolü, s. 25GitHub, Git depolarını barındırıp birlikte kod yazmaya yarayan; pull request, kod incelemesi, issue ve en büyük açık kaynak topluluğunu sunan platformdur.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin