Aracılığıyla paylaş


Pull request'ler hakkında

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Çekme istekleri (PR' ler), Azure Repos'taki git deposundaki kodu değiştirmenin, gözden geçirmenin ve birleştirmenin bir yoludur. PR'ler aynı depodaki dallardan veya deponun çatallarındaki dallardan gelebilir. Ekipler, kodu ana dala birleştirmeden önce kodu gözden geçirmek ve değişiklikler hakkında geri bildirim vermek için PR'leri kullanır. Gözden geçirenler önerilen değişikliklerde adım adım ilerleyebilir, açıklama bırakabilir ve kodu onaylamak veya reddetmek için oy verebilir.

Bu makalede çekme isteği yönergeleri ve yönetim hususları açıklanmaktadır. Çekme isteklerini oluşturma, görüntüleme, gözden geçirme ve tamamlama yönergeleri için aşağıdaki makalelere bakın:

Not

Performans ve kararlılık nedeniyle, çekme isteğine eklenebilen gözden geçirenlerin sayısı 1000 veya daha az olmalıdır. 1000'den fazla gözden geçiren eklenirken yeni çekme istekleri oluşturulmaz ve mevcut çekme istekleri 1000'den fazla gözden geçiren eklemenize izin vermez.

İzinler ve önkoşullar

  • Projede repolar etkinleştirilmelidir. Repos hub'ı ve ilişkili sayfalar görüntülenmiyorsa, Azure DevOps hizmetini açma veya kapatma başlığından Repos'u yeniden etkinleştirme işlemini yapabilirsiniz.

  • PR'leri görüntülemek veya gözden geçirmek için en az Temel erişimi olan bir Azure DevOps projesinin üyesi olun.

  • Çekme isteğine katkıda bulunmak için Okuyucular güvenlik grubunun üyesi olmanız veya gerekli izinlere sahip olmanız gerekir.

  • Çekme isteği oluşturup tamamlamak için Katkıda Bulunanlar güvenlik grubunun üyesi olun veya ilgili izinlere sahip olun.

Not

Ortak projeler için Paydaş erişimi verilen kullanıcılar Azure Repos'a tam erişime sahiptir.

  • Projede repolar etkinleştirilmelidir. Repos hub'ı ve ilişkili sayfalar görüntülenmiyorsa, Azure DevOps hizmetini açma veya kapatma başlığından Repos'u yeniden etkinleştirme işlemini yapabilirsiniz.
  • PR'leri görüntülemek veya gözden geçirmek için en az Temel erişimi olan bir Azure DevOps projesinin üyesi olun. Proje üyesi değilseniz, eklenmeyi talep edin.
  • Çekme isteğine katkıda bulunmak için Okuyucular güvenlik grubunun üyesi olmanız veya gerekli izinlere sahip olmanız gerekir.
  • Çekme isteği oluşturup tamamlamak için Katkıda Bulunanlar güvenlik grubunun üyesi olun veya ilgili izinlere sahip olun.

İzinler ve erişim hakkında daha fazla bilgi için bkz . Varsayılan Git deposu ve dal izinleri ve Erişim düzeyleri hakkında.

Çekme istekleri için kalite geri bildirimi

Yüksek kaliteli yorumlar, yüksek kaliteli geri bildirimlerle başlar. Harika halkla ilişkiler geri bildirimi için bazı anahtarlar şunlardır:

  • Çekme isteği sahibi, doğru kişilerin çekme isteğini gözden geçirmesini sağlamalı ve gözden geçirenlerin kodun ne yaptığını bilmelerini sağlamalıdır.
  • Gözden geçirenler eyleme dönüştürülebilir, yapıcı geri bildirimler vermelidir.
  • Sahipler ve gözden geçirenler hızla yorum yapmalı ve yanıt vermelidir.

PR sahipleri:

  • Önceleme isteğine atamak için doğru gözden geçirenleri seçtiğinizden emin olun.
  • Kodun nasıl çalıştığını bilen gözden geçirenleri ekleyin.
  • Diğer alanlarda çalışan geliştiricilerden fikirlerini paylaşmalarını isteyin.
  • Değişikliklerin net bir açıklamasını verin.
  • Çekme isteği şablonlarıyla ilgili gözden geçirme kılavuzu sağlayın.
  • Kodun derlemesini, içinde çalışan düzeltme veya özellik ile sağlayın.
  • Önerileri yanıtlayın, öneriyi kabul edin veya önerilen değişikliğin neden ideal olmadığını açıklayın.
  • Çekme isteğinin kapsamı dışında iyi öneriler için bu değişiklikleri yapmak için yeni iş öğeleri, dallar ve PR'ler oluşturun.

Gözden geçirenler aşağıdaki görevleri gerçekleştirmelidir.

  • Kabul etmedikleri değişiklikler hakkında geri bildirim sağlayın
  • Sorunları belirleme ve farklı yapılması gerekenler hakkında belirli önerilerde bulundu
  • Geri bildirimin net bir amacı olduğundan ve anlaşılması kolay olduğundan emin olun
  • Yorum bırakın veya değişikliklere oy verin

Daha fazla bilgi için bkz Git çekme istekleri ile geri bildirim alma.

Dal politikaları ve çekme istekleri

Ekibiniz her zaman iyi durumda olmak için deponuzdaki main dal gibi kritik dallara güvenebilir. Dal ilkelerini, bu korumalı dallardaki değişiklikler için PR gerektirecek şekilde ayarlayabilir ve doğrudan dallara gönderilen değişiklikleri reddedebilirsiniz.

Önemli dallarda daha iyi kod kalitesini zorlamak için PR'lere daha fazla ilke ekleyebilirsiniz. Önerilen kodun temiz bir derlemesi veya birden çok gözden geçirenin onayı gibi ek gereksinimler önemli dalların korunmasına yardımcı olabilir.

Bir dal politikasında bir PR için gerekli onayların sayısını ayarlayabilirsiniz. Ayrıca, bazı gözden geçirenleri tüm veya belirli PR'lerde gerekli veya isteğe bağlı olarak ayarlayabilirsiniz. Çekme talebi, diğer gözden geçirenler değişiklikleri reddetse bile gerekli sayıda onay alındığında otomatik olarak tamamlanmaya ayarlanabilir. Ancak, PR'lerin birleştirilebilmesi için gerekli gözden geçirenlerin PR'leri onaylaması gerekir. En az iki gözden geçirenin önemli bir çekme isteğindeki değişiklikleri gözden geçirmesi ve onaylaması en iyi uygulamadır.

Çekme isteği yazarı yeni değişiklikler gönderdiğinde oyları sıfırlamak için, En az gözden geçiren sayısını gerektir dal ilkesinde Yeni değişiklikler olduğunda kod gözden geçiren oylarını sıfırla seçeneğini seçin.

Aşağıdaki tabloda, bir dalı özelleştirmek için tanımlayabileceğiniz ilkeler özetlemektedir. Tüm depo ve dal ilkelerine ve ayarlarına genel bakış için bkz . Git deposu ayarları ve ilkeleri.

İlke

Varsayılan

Açıklama


Kapalı

Çekme taleplerinde belirtilen sayıda gözden geçirenin onayını almak gereklidir.

Kapalı

Çekme taleplerinde bağlı iş öğelerini kontrol ederek izlenebilirliği artırın

Kapalı

Pull request'lerde tüm yorumların çözümlendiğini kontrol edin.

Kapalı

Çekme talepleri tamamlandığında kullanılabilecek birleştirme türlerini sınırlayarak dal geçmişini kontrol edin.

Kapalı

Kodun doğruluğunu önceden birleştirme ve çekme isteği değişikliklerini oluşturma yoluyla sağlamak için bir veya daha fazla ilke ekleyin. ayrıca ilkeleri etkinleştirebilir veya devre dışı bırakabilir.

Kapalı

Bir veya daha fazla politika ekleyerek başka hizmetlerin başarılı bir durum güncellemesi yapmasını zorunlu kılın ve böylece çekme istekleri tamamlanabilsin. ayrıca ilkeleri etkinleştirebilir veya devre dışı bırakabilir.

Kapalı

Çekme istekleri belirli kod alanlarını değiştirdiğinde otomatik olarak dahil etmek üzere kod gözden geçirenleri belirlemeye yönelik bir veya daha fazla ilke ekleyin. ayrıca ilkeleri etkinleştirebilir veya devre dışı bırakabilir.

Daha fazla bilgi için bkz.

Kod kalitesini geliştirmek için durum denetimleri tanımlama

Çekme istekleri ve dal politikaları, ekiplerin kodu gözden geçirmek ve otomatik derlemeleri çalıştırmak için en iyi uygulamaları hayata geçirmesini sağlar. Birçok ekibin kod üzerinde yapması gereken daha fazla gereksinim ve doğrulama vardır. Bu gereksinimleri karşılamak için PR durum denetimlerini PR iş akışına ekleyebilirsiniz. PR durumu denetimleriyle, dış hizmetler başarı veya başarısızlık bilgilerini PR ile ilişkilendirerek kod değişikliklerine programlı olarak onay verebilir.

Daha fazla bilgi için aşağıdaki makaleleri inceleyin:

Birden çok birleştirme temeli sorunu

Bazı durumlarda çekme isteği birden fazla gerçek birleştirme tabanına sahip olabilir ve bu durum güvenlik sorunlarına neden olabilir. Çekme isteğindeki dosyaların birleştirme tabanları arasında farklı sürümleri varsa, birden çok birleştirme tabanı uyarısı gerçekleşir. Daha fazla bilgi ve düzeltme için Birden fazla birleştirme temeline bakın.

Sonraki adımlar