Çekme istekleri hakkında
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Ç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şikliklerle ilgili geri bildirimde bulunmak için ÇEKME'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 konuları 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:
- Çekme istekleri oluşturma
- Çekme isteklerini görüntüleme ve açma
- Çekme isteklerini gözden geçirme
- Çekme isteklerini tamamlama
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
Projenizde depolar etkinleştirilmelidir. Depolar hub'ı ve ilişkili sayfalar görüntülenmiyorsa, depoları yeniden etkinleştirmek için bkz. Azure DevOps hizmetini açma veya kapatma.
PR'leri görüntülemek veya gözden geçirmek için Temel erişim veya daha yüksek erişime sahip bir Azure DevOps projesinin üyesi olmanız gerekir.
Çekme isteğine katkıda bulunmak için Okuyucular güvenlik grubunun üyesi olmanız veya ilgili izinlere sahip olmanız gerekir.
Çekme isteğini oluşturmak ve tamamlamak için Katkıda Bulunanlar güvenlik grubunun üyesi olmanız veya ilgili izinlere sahip olmanız gerekir.
Not
Ortak projeler için Paydaş erişimi verilen kullanıcılar Azure Repos'a tam erişime sahiptir.
- Projenizde depolar etkinleştirilmelidir. Depolar hub'ı ve ilişkili sayfalar görüntülenmiyorsa, depoları yeniden etkinleştirmek için bkz. Azure DevOps hizmetini açma veya kapatma.
- PR'leri görüntülemek veya gözden geçirmek için Temel erişim veya daha yüksek erişime sahip bir Azure DevOps projesinin üyesi olmanız gerekir. Proje üyesi değilseniz, eklensin.
- Çekme isteğine katkıda bulunmak için Okuyucular güvenlik grubunun üyesi olmanız veya ilgili izinlere sahip olmanız gerekir.
- Çekme isteğini oluşturmak ve tamamlamak için Katkıda Bulunanlar güvenlik grubunun üyesi olmanız veya ilgili izinlere sahip olmanız gerekir.
İ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 çekme isteği geri bildiriminin 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.
Çekme isteği sahipleri:
- Çekme 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çiren 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 istekleriyle ilgili geri bildirim alma.
Dal ilkeleri 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 ilkesinde çekme isteği 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 isteği, diğer gözden geçirenler değişiklikleri reddetse bile gerekli sayıda onayla otomatik tamamlamaya ayarlanabilir. Ancak, çekme isteklerinin birleştirebilmesi 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 yöntemdir.
Ç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ı gerektir dal ilkesinde Yeni değişiklikler olduğunda Kodu gözden geçiren oylarını sıfırla'yı 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 isteklerinde belirtilen sayıda gözden geçirenin onayını iste.
Kapalı
Çekme isteklerinde bağlı iş öğelerini denetleyerek izlenebilirliği teşvik edin
Kapalı
Çekme isteklerinde tüm açıklamaların çözümlendiğini denetleyin.
Kapalı
Çekme istekleri tamamlandığında kullanılabilir birleştirme türlerini sınırlayarak dal geçmişini denetleyin.
Kapalı
Çekme isteği değişikliklerini önceden birleştirip oluşturarak kodu doğrulamak için bir veya daha fazla ilke ekleyin. ayrıca ilkeleri etkinleştirebilir veya devre dışı bırakabilir.
Kapalı
Çekme isteklerini tamamlamak için diğer hizmetlerin başarılı durum göndermesini gerektirecek bir veya daha fazla ilke ekleyin. 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.
- Dal ilkelerine genel bakış
- Dal ilkelerini yapılandırma
- Dal izinleri
- Özel dal ilkeleri oluşturmak için Azure İşlevleri kullanma
Kod kalitesini geliştirmek için durum denetimleri tanımlama
Çekme istekleri ve dal ilkeleri, ekiplerin kodu gözden geçirmek ve otomatik derlemeleri çalıştırmak için en iyi yöntemleri uygulamasını sağlar. Birçok ekibin kod üzerinde yapması gereken daha fazla gereksinim ve doğrulama vardır. Bu gereksinimleri karşılamak için çekme isteği durum denetimlerini çekme isteği iş akışıyla tümleştirebilirsiniz. Çekme isteği durum denetimleriyle, dış hizmetler başarı veya başarısızlık bilgilerini çekme isteğiyle ilişkilendirerek kod değişikliklerini program aracılığıyla kapatabilir.
Daha fazla bilgi için aşağıdaki makaleleri inceleyin:
- Çekme isteği durumuyla çekme isteği iş akışlarını özelleştirme ve genişletme
- Node.js ile çekme isteği durum sunucusu oluşturma
- Harici hizmet için dal ilkesi yapılandırma
Birden çok birleştirme temel sorunu
Bazı durumlarda çekme isteği birden fazla gerçek birleştirme tabanına sahiptir ve bu durum güvenlik sorunlarına neden olabilir. Çekme isteğindeki dosyaların birleştirme tabanları içinde farklı sürümleri varsa, birden çok birleştirme tabanı uyarısı gerçekleşir. Daha fazla bilgi ve düzeltme için bkz . Birden çok birleştirme temeli.
Sonraki adımlar
- Dal ilkeleriyle kod kalitesini geliştirme
- Çekme isteği durumuyla çekme isteği iş akışlarını özelleştirme ve genişletme
- Çekme isteği güncelleştirme bildirimleri
- Varsayılan dalı değiştirme
- Değişiklikleri vişne seçimiyle kopyalama
- Birleştirme stratejileri ve squash birleştirme
- Birden çok birleştirme tabanı