Dal ilkeleri ve ayarları

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Dal ilkeleri, ekiplerin önemli geliştirme dallarını korumalarına yardımcı olur. İlkeler, ekibinizin kod kalitesini zorlar ve yönetim standartlarını değiştirir. Bu makalede, dal ilkelerinin nasıl ayarlanacağı ve yönetileceğini açıklanmaktadır. Tüm depo ve dal ilkelerine ve ayarlarına genel bakış için bkz . Git deposu ayarları ve ilkeleri.

Gerekli ilkelerin yapılandırıldığı dal silinemez ve tüm değişiklikler için çekme istekleri (PR) gerektirir.

Önkoşullar

  • Dal ilkelerini ayarlamak için Proje Yöneticileri güvenlik grubunun üyesi olmanız veya depo düzeyinde İlkeleri düzenleme izinlerine sahip olmanız gerekir. Daha fazla bilgi için bkz . Git deposu izinlerini ayarlama.

Dal ilkelerini yapılandırma

Dal ilkelerini yönetmek için Depo>Dalları'nı seçerek web portalında Dallar sayfasını açın.

Dallar menü öğesini gösteren ekran görüntüsü.

Ayrıca, Proje Ayarları>Depo>İlkeleri Dal İlkeleri>><Dal Adı> ile dal ilkesi ayarlarına da ulaşabilirsiniz.

İlkeleri olan dallarda bir ilke simgesi görüntülenir. Doğrudan dalın ilke ayarlarına gitmek için simgeyi seçebilirsiniz.

Dal ilkelerini ayarlamak için yönetmek istediğiniz dalı bulun. Sağ üstteki Dal adı ara kutusunda listeye göz atabilir veya dalınızı arayabilirsiniz.

Dalın yanındaki Diğer seçenekler simgesini ve ardından bağlam menüsünden Dal ilkeleri'ni seçin.

Bağlam menüsünden dal ilkelerini açma'nın gösterildiği ekran görüntüsü.

Sayfada dalınızı bulun. Listeye göz atabilir veya sağ üstteki Tüm dallarda ara kutusunu kullanarak dalınızı arayabilirsiniz.

Dallar sayfasını gösteren ekran görüntüsü.

... düğmesini seçin. Bağlam menüsünden Dal ilkeleri'ni seçin.

Bağlam menüsünden dal ilkelerini açma'nın gösterildiği ekran görüntüsü.

Dalın ayarlar sayfasında ilkeleri yapılandırın. Her ilke türü için açıklamalar ve yönergeler için aşağıdaki bölümlere bakın.

İlkeler sayfasında ilkelerinizi yapılandırın. Her ilke türünün açıklamaları için aşağıdaki bölümlere bakın. Yeni ilke yapılandırmanızı uygulamak için Değişiklikleri kaydet'i seçin.

İlkeler sekmesini gösteren ekran görüntüsü.

En az sayıda gözden geçiren gerektir

Kod incelemeleri, yazılım geliştirme projeleri için önemlidir. Ekiplerin ÇEKME'leri gözden geçirmesini ve onaylamasını sağlamak için, en az sayıda gözden geçirenin onayını gerektirebilirsiniz. Temel ilke, belirtilen sayıda gözden geçirenin kodu reddetme olmadan onaylamasını gerektirir.

İlkeyi ayarlamak için Dal İlkeleri'nin altında En az sayıda gözden geçiren gerektir seçeneğini Açık olarak ayarlayın. Gerekli gözden geçiren sayısını girin ve aşağıdaki seçeneklerden birini belirleyin:

Kod gözden geçirmesi gerektir ilkesinin etkinleştirildiğini gösteren ekran görüntüsü.

  • İstek sahibinin kendi değişikliklerini onaylamasına izin ver'i seçerek pr'yi oluşturan kişinin onayını oylayabilir. Aksi takdirde, oluşturucu çekme isteğinde Onayla oyu verebilir, ancak oyları en az gözden geçiren sayısına kadar sayılmaz.

  • Görevlerin ayrıştırmasını zorunlu kılmak için en son göndericinin kendi değişikliklerini onaylamasını yasakla'yı seçin. Varsayılan olarak, kaynak dalda anında iletme izni olan herkes hem işleme ekleyebilir hem de çekme isteği onayına oy verebilir. Bu seçeneğin seçilmesi, normalde kendi değişikliklerini onaylasa bile en son göndericinin oylarının sayılmaması anlamına gelir.

  • Bazı gözden geçirenler onaya karşı oy kullansalar bile çekme isteğinin tamamlanmasına izin vermek için beklemeye veya reddetmeye oy verse bile Tamamlamaya izin ver'i seçin. En az sayıda gözden geçirenin yine de onaylaması gerekir.

  • Yeni değişiklikler gönderildiğinde altında:
    • Son kaynak dal değişikliği için en az bir onay oyu gerektirmek için Son yinelemede en az bir onay gerektir'i seçin.
    • Tüm onay oylarını kaldırmak için Tüm onay oylarını sıfırla (reddetmek veya beklemek için oyları sıfırlamaz), ancak kaynak dal değiştiğinde reddetmek veya beklemek için oyları koruyun'ı seçin.
    • Kaynak dal değiştiğinde tüm gözden geçiren oylarını kaldırmak için Tüm kod gözden geçiren oylarını sıfırla'yı seçin; buna onay, reddetme veya bekleme oyları da dahildir.
  • Yeni değişiklikler gönderildiğinde altında:
    • Son kaynak dal değişikliği için en az bir onay oyu gerektirmek için Her yinelemede en az bir onay iste'yi seçin. Kullanıcının onayı, bu kullanıcı tarafından gönderilen önceki onaylanmamış yinelemelere göre sayılmaz. Sonuç olarak, başka bir kullanıcı tarafından son yinelemede başka bir onay yapılması gerekir. Azure DevOps Server 2022.1 ve sonraki sürümlerde kullanılabilen her yineleme için en az bir onay iste.
    • Son kaynak dal değişikliği için en az bir onay oyu gerektirmek için Son yinelemede en az bir onay gerektir'i seçin.
    • Tüm onay oylarını kaldırmak için Tüm onay oylarını sıfırla (reddetmek veya beklemek için oyları sıfırlamaz), ancak kaynak dal değiştiğinde reddetmek veya beklemek için oyları koruyun'ı seçin.
    • Kaynak dal değiştiğinde tüm gözden geçiren oylarını kaldırmak için Tüm kod gözden geçiren oylarını sıfırla'yı seçin; buna onay, reddetme veya bekleme oyları da dahildir.

Kod gözden geçirmesi gerektir kutusunu işaretleyin

  • İstek sahipleri kendi değişikliklerini onaylayabilirse, çekme isteğini oluşturan yine çekme isteğinde Onayla oyu verebilir, ancak oyları En az gözden geçiren sayısına kadar sayılmaz.
  • Gözden geçirenlerden herhangi biri değişiklikleri reddederse, bazı gözden geçirenler beklemeye veya reddetmeye oy verse bile Tamamlamaya izin ver'i seçmediğiniz sürece çekme isteği tamamlayamaz.
  • Kaynak dala yeni değişiklikler gönderildiğinde kod gözden geçiren oylarını sıfırlayabilirsiniz. Yeni değişiklikler olduğunda Kod gözden geçiren oylarını sıfırla'yı seçin.

Diğer tüm ilkeler geçerse, gerekli sayıda gözden geçiren onayladığında oluşturucu çekme isteğini tamamlayabilir.

Bağlı iş öğelerini denetleme

İş öğesi yönetimi izlemesi için PR'ler ve iş öğeleri arasında ilişkilendirmeler gerektirebilirsiniz. İş öğelerini bağlamak, değişiklikler için daha fazla bağlam sağlar ve güncelleştirmelerin iş öğesi izleme sürecinizden geçmesine olanak sağlar.

İlkeyi ayarlamak için Dal İlkeleri'nin altında Bağlı iş öğelerini denetle seçeneğini Açık olarak ayarlayın. Bu ayar, iş öğelerinin çekme isteğinin birleştirilmesi için bir çekme isteğine bağlanmasını gerektirir. Bağlı iş öğesi olmadığında uyarmak, ancak çekme isteğinin tamamlanmasına izin vermek için İsteğe bağlı ayarını İsteğe bağlı yapın.

Çekme isteklerinde bağlı iş öğeleri gerektirme ekran görüntüsü.

Çekme isteklerinizde bağlı iş öğelerini gerektir

Açıklama çözümlemesini denetleme

Açıklama çözümlemesini denetle ilkesi, tüm çekme isteği açıklamalarının çözümlenip çözümlenmediğini denetler.

Yorum çözümlemesini denetle seçeneğini Açık olarak ayarlayarak dalınız için bir açıklama çözümleme ilkesi yapılandırın. Ardından ilkenin Gerekli mi yoksa İsteğe bağlıyapılıp yapılmayacağını seçin.

Açıklama çözümlemesini denetle'nin ekran görüntüsü.

Çekme isteği açıklamalarıyla çalışma hakkında daha fazla bilgi için bkz . Çekme isteklerini gözden geçirme.

Yorum çözümlemesini denetle'yi seçerek dalınız için bir açıklama çözümleme ilkesi yapılandırın.

Açıklama çözümlemesini denetleme

Çekme isteği açıklamalarıyla çalışma hakkında daha fazla bilgi için bkz . Çekme isteklerini gözden geçirme.

Birleştirme türlerini sınırla

Azure Repos'un çeşitli birleştirme stratejileri vardır ve varsayılan olarak tümüne izin verilir. Çekme isteği tamamlama için birleştirme stratejisini zorunlu tutarak tutarlı bir dal geçmişini koruyabilirsiniz.

Deponuzda hangi birleştirme türlerine izin verebileceğinizi sınırlamak için Birleştirme türlerini sınırla seçeneğini Açık olarak ayarlayın.

Birleştirme türlerini sınırla'nın ekran görüntüsü.

  • Temel birleştirme (hızlı iletme olmadan), üst öğeleri hedef ve kaynak dalları olan hedefte bir birleştirme işlemesi oluşturur.
  • Sıkıştırarak birleştirme , kaynak daldaki değişikliklerle hedef dalda tek bir işleme ile doğrusal bir geçmiş oluşturur. Squash birleştirme ve dal geçmişini nasıl etkilediği hakkında daha fazla bilgi edinin.
  • Yeniden temel alma ve ileri sarma , kaynak işlemeleri birleştirme işlemesi olmadan hedef dalda yeniden yürüterek doğrusal bir geçmiş oluşturur.
  • Birleştirme işlemesi ile yeniden temel alma, kaynak işlemeleri hedefte yeniden yürüter ve ayrıca bir birleştirme işlemesi oluşturur.

Not

Bu özellik Azure DevOps Server 2020 ve sonraki sürümlerde kullanılabilir.

Birleştirme stratejisini zorunlu kılma

Çekme isteği tamamlandığında birleştirme stratejisini zorunlu tutarak tutarlı bir dal geçmişini koruyun. Birleştirme stratejisini zorla'yı seçin ve çekme isteklerinin bu stratejiyi kullanarak birleştirilmesini gerektirecek bir seçenek belirleyin.

Birleştirme gereksinimlerini ayarlama

  • Hızlı birleştirme yok - Bu seçenek, çekme isteği kapandığında ve hedef dalda birleştirme işlemesi oluşturduğunda kaynak dalın işleme geçmişini birleştirir.
  • Sıkıştırarak birleştirme - Kaynak daldaki değişikliklerle hedef dalda tek bir işleme oluşturarak squash birleştirme ile tüm çekme isteklerini tamamlayın. Squash birleştirme ve dal geçmişinizi nasıl etkilediği hakkında daha fazla bilgi edinin.

Derleme doğrulaması

Çekme isteği tamamlanmadan önce çekme isteği değişikliklerinin başarıyla oluşturulmasını gerektiren bir ilke ayarlayabilirsiniz. İlkeler oluşturma, kesintileri azaltır ve test sonuçlarınızı geçirmeyi sürdürün. Derleme ilkeleri, sorunları erken yakalamak için geliştirme dallarınızda sürekli tümleştirme (CI) kullanıyor olsanız bile yardımcı olur.

Derleme doğrulama ilkesi, yeni bir çekme isteği oluşturulduğunda veya değişiklikler dalı hedefleyen mevcut bir çekme isteğine gönderildiğinde yeni bir derlemeyi kuyruğa alır. Derleme ilkesi, çekme isteğinin tamamlanıp tamamlanamadığını belirlemek için derleme sonuçlarını değerlendirir.

Önemli

Derleme doğrulama ilkesi belirtmeden önce bir derleme işlem hattına sahip olmanız gerekir. İşlem hattınız yoksa bkz . Derleme işlem hattı oluşturma. Proje türünüzle eşleşen derleme türünü seçin.

Derleme doğrulama ilkesi eklemek için

  1. Derleme doğrulaması'nın +yanındaki düğmeyi seçin.

    Derleme doğrulaması'nın yanındaki Ekle düğmesini gösteren ekran görüntüsü.

  2. Derleme ilkesi ayarla formunu doldurun:

    derleme ilkesi ayarlarının ekran görüntüsü.

    • Derleme işlem hattını seçin.

    • İsteğe bağlı olarak bir Yol filtresi ayarlayın. Dal ilkelerindeki yol filtreleri hakkında daha fazla bilgi edinin.

    • Tetikleyici'nin altında Otomatik (kaynak dal her güncelleştirildiğinde) veya El ile'yi seçin.

    • İlke gereksinimi'nin altında Gerekli veya İsteğe Bağlı'yı seçin. Gerekli'yi seçerseniz, PR'lerin tamamlanması için derlemelerin başarıyla tamamlanması gerekir. Derleme hatasıyla ilgili bir bildirim sağlamak ancak ÇEKME'lerin tamamlanmasına izin vermek için İsteğe Bağlı'yı seçin.

    • Korumalı dalınızın güncelleştirmelerinin açık PR'ler için değişiklikleri bozmadığından emin olmak için bir derleme süre sonu ayarlayın.

      • Dal adı güncelleştirildiğinde hemen: Bu seçenek, dal güncelleştirildiğinde <PR derleme ilkesi durumunu başarısız olarak ayarlar ve derlemeyi yeniden sorgular.> Bu ayar, korumalı dal değişse bile çekme isteği değişikliklerinin başarıyla oluşturulmasını sağlar.

        Bu seçenek, önemli dallarında birkaç değişiklik bulunan ekipler için en iyisidir. Yoğun geliştirme dallarında çalışan ekipler, dal her güncelleştirdiğinde bir derlemeyi beklemeyi kesintiye uğratabilir.

      • Dal adı> güncelleştirildiyse <n> saat sonra<: Geçiş derlemesi girdiğiniz eşikten daha eskiyse korumalı dal güncelleştirildiğinde bu seçenek geçerli ilke durumunun süresinin dolmasına neden olur. Bu seçenek, korumalı dal güncelleştirildiğinde her zaman veya hiçbir zaman derleme gerektirmeme arasında bir risktir. Bu seçenek, korumalı dalınızın sık sık güncelleştirmeleri olduğunda derleme sayısını azaltır.

      • Hiçbir zaman: Korumalı dal güncelleştirmeleri ilke durumunu değiştirmez. Bu değer derleme sayısını azaltır, ancak son zamanlarda güncelleştirilmedi PR'leri tamamlarken sorunlara neden olabilir.

    • Bu derleme ilkesi için isteğe bağlı bir Görünen ad girin. Bu ad, Dal ilkeleri sayfasında ilkeyi tanımlar. Görünen ad belirtmezseniz, ilke derleme işlem hattı adını kullanır.

  3. Kaydet'i seçin.

Çekme isteği sahibi başarıyla derlenebilen değişiklikleri gönderdiğinde ilke durumu güncelleştirilir.

Dal adı güncelleştirildiğinde hemen veya dal adı>> güncelleştirildiyse n> saat sonra <derleme ilkeniz varsa<, önceki derleme artık geçerli değilse korumalı dal güncelleştirildiğinde ilke durumu güncelleştirilir.<

Not

Bu özellik Azure DevOps Server 2020 ve sonraki sürümlerde kullanılabilir.

Çekme isteğinin tamamlanmadan önce korumalı dal ile başarıyla derlenebilmesi için çekme isteğinde değişiklik gerektiren bir ilke ayarlayın. İlkeler oluşturma, kesintileri azaltır ve test sonuçlarınızı geçirmeyi sürdürün. Derleme ilkeleri, sorunları erken yakalamak için geliştirme dallarınızda sürekli tümleştirme (CI) kullanıyor olsanız bile yardımcı olur.

Derleme doğrulama ilkesi etkinleştirilirse, yeni bir çekme isteği oluşturulduğunda veya dalını hedefleyen mevcut bir çekme isteğine değişiklikler gönderildiğinde yeni bir derleme kuyruğa alınır. Ardından derleme ilkesi, çekme isteğinin tamamlanıp tamamlanamadığını belirlemek için derlemenin sonuçlarını değerlendirir.

Önemli

Derleme doğrulama ilkesi belirtmeden önce bir derleme tanımına sahip olmanız gerekir. Uygulamanız yoksa bkz . Derleme tanımı oluşturma ve proje türünüzle eşleşen derleme türünü seçme.

Derleme ilkesi ekleme

Derleme ilkesi ekle'yi seçin ve Derleme ilkesi ekleme bölümünde seçeneklerinizi yapılandırın.

İlke ayarları oluşturma

  1. Derleme tanımını seçin.

  2. Tetikleyici türünü seçin. Otomatik (kaynak dal her güncelleştirildiğinde) veya El ile'yi seçin.

  3. İlke gereksinimini seçin. Gerekli'yi seçerseniz, çekme isteklerini tamamlamak için derlemelerin başarıyla tamamlanması gerekir. Derleme hatasıyla ilgili bir bildirim sağlamak ancak yine de çekme isteklerinin tamamlanmasına izin vermek için İsteğe Bağlı'yı seçin.

  4. Korumalı dalınızın güncelleştirmelerinin açık çekme isteklerindeki değişiklikleri bozmadığından emin olmak için bir derleme süre sonu ayarlayın.

    • Hemen güncelleştirildiğindebranch name: Bu seçenek, korumalı dal güncelleştirildiğinde çekme isteğindeki derleme ilkesi durumunu başarısız olacak şekilde ayarlar. Derleme durumunu yenilemek için derlemeyi yeniden sorgula. Bu ayar, korumalı dal değiştikçe bile çekme isteklerindeki değişikliklerin başarıyla oluşturulmasını sağlar. Bu seçenek, daha düşük hacimli değişikliklere sahip önemli dallara sahip ekipler için en iyisidir. Yoğun geliştirme dallarında çalışan ekipler, korumalı dal her güncelleştirildiğinde derlemenin tamamlanmasını beklemeyi kesintiye uğratabilir.
    • Güncelleştirildiyse saatler branch name sonran: Bu seçenek, geçen derleme girilen eşikten daha eskiyse korumalı dal güncelleştirildiğinde geçerli ilke durumunun süresinin dolmasına neden olur. Bu seçenek, korumalı dal güncelleştirildiğinde her zaman derleme gerektirme ve hiçbir zaman gerektirmeme arasında bir risktir. Bu seçenek, korumalı dalınızın sık sık güncelleştirmeleri olduğunda derleme sayısını azaltmak için mükemmeldir.
    • Hiçbir zaman: Korumalı dal güncelleştirmeleri ilke durumunu değiştirmez. Bu değer, dalınızın derleme sayısını azaltır. Yakın zamanda güncelleştirilmedi çekme isteklerini kapatırken sorunlara neden olabilir.
  5. Bu derleme ilkesi için isteğe bağlı bir Görünen ad girin. Bu ad, Dal ilkeleri sayfasında ilkeyi tanımlar. Görünen ad belirtmezseniz, ilke derleme tanımı adını kullanır.

  6. Kaydet'i seçin.

Sahip başarıyla derlenen değişiklikleri gönderdiğinde, ilke durumu güncelleştirilir. Güncelleştirildiğinde branch name hemen veya güncelleştirilen derleme ilkesi seçildiyse saatler sonra n seçeneğiniz varsabranch name, en son derleme artık geçerli değilse korumalı dal güncelleştirildiğinde ilke durumu güncelleştirilir.

Durum denetimleri

Dış hizmetler PR Durum API'sini kullanarak pr'lerinize ayrıntılı durum gönderebilir. Ek hizmetler için dal ilkesi, bu dış hizmetlerin çekme isteği iş akışına katılmasını ve ilke gereksinimlerini oluşturmasını sağlar.

Dış hizmetlerin onaylamasını gerektir seçeneğinin ekran görüntüsü.

Bu ilkeyi yapılandırma yönergeleri için bkz . Dış hizmet için dal ilkesi yapılandırma.

Dış hizmetlerden onay iste

Dış hizmetler PR Durum API'sini kullanarak pr'lerinize ayrıntılı durum gönderebilir. Ek hizmetler için dal ilkesi, bu dış hizmetlerin çekme isteği iş akışına katılma ve ilke gereksinimleri oluşturma olanağı getirir.

Dış hizmetlerin onaylamasını gerektir

Bu ilkeyi yapılandırma yönergeleri için bkz . Dış hizmet için dal ilkesi yapılandırma.

Kod gözden geçirenleri otomatik olarak ekle

Belirli dizinlerdeki ve dosyalardaki dosyaları değiştiren çekme isteklerine veya bir depodaki tüm çekme isteklerine otomatik olarak gözden geçirenler ekleyebilirsiniz.

  1. + Gözden geçirenleri otomatik olarak ekle'nin yanındaki düğmeyi seçin.

    Gerekli gözden geçirenleri ekle'yi gösteren ekran görüntüsü.

  2. Yeni gözden geçiren ilkesi ekle ekranını doldurun.

    Yeni gözden geçiren ilkesi ekle ekranını gösteren ekran görüntüsü.

    • Gözden Geçirenler'e kişi ve grup ekleyin.

    • Gözden geçirenleri otomatik olarak eklemek, ancak çekme isteğini tamamlamak için onay istememek istiyorsanız İsteğe bağlı'yı seçin.

      Veya çekme istekleri şu zamana kadar tamamlanamazsa Gerekli'yi seçin:

      • Gözden geçiren olarak eklenen her birey değişiklikleri onaylar.
      • Gözden geçiren olarak eklenen her gruptaki en az bir kişi değişiklikleri onaylar.
      • Yalnızca bir grup gerekiyorsa, belirttiğiniz en az üye sayısı değişiklikleri onaylar.
    • Otomatik olarak eklenen gözden geçirenleri gerektiren dosya ve klasörleri belirtin. Daldaki tüm çekme istekleri için gözden geçirenleri gerektirmek için bu alanı boş bırakın.

    • Çekme isteği sahipleri bu ilkeyi karşılamak için kendi çekme isteklerini onaylamak için oy kullanabiliyorsa istek sahiplerinin kendi değişikliklerini onaylamasına izin ver'i seçin.

    • Çekme isteğinde görünen bir Etkinlik akışı iletisi belirtebilirsiniz.

  3. Kaydet'i seçin.

Not

Bu özellik Azure DevOps Server 2020 ve sonraki sürümlerde kullanılabilir.

Deponuzdaki belirli dizinler ve dosyalar için gözden geçirenleri seçin.

Yolu ve gerekli gözden geçirenleri girin

Bu gözden geçirenler, bu yollarda dosyaları değiştiren çekme isteklerine otomatik olarak eklenir. Etkinlik akışı iletisi de belirtebilirsiniz.

Otomatik gözden geçirenler ekleme

Gerekli'yi seçerseniz çekme isteği şu zamana kadar tamamlanamaz:

  • Yol için gözden geçiren olarak eklenen her kullanıcı değişiklikleri onaylar.
  • Yola eklenen her gruptaki en az bir kişi değişiklikleri onaylar.
  • Yola eklenen her grup için belirtilen gözden geçirenlerin sayısı değişiklikleri onaylar.

Gerekli gözden geçirenler otomatik olarak eklenir

Gözden geçirenleri otomatik olarak eklemek, ancak çekme isteğini tamamlamak için onay istememek istiyorsanız İsteğe bağlı'yı seçin.

İstek sahipleri kendi değişikliklerini onaylayabilir'i seçebilirsiniz.

Gerekli tüm gözden geçirenler kodu onayladığında çekme isteğini tamamlayabilirsiniz.

Çekme isteği durumu, gözden geçirenlerin onaylandığını gösterir

Dal ilkelerini atlama

Bazı durumlarda ilke gereksinimlerini atlamanız gerekebilir. İzinleri atlama, değişiklikleri doğrudan bir dala göndermenize veya dal ilkelerini karşılamayen çekme isteklerini tamamlamanıza olanak sağlar. Bir kullanıcıya veya gruba atlama izinleri verilmektedir. Atlama izinlerini projenin tamamına, bir depoya veya tek bir dala göre ayarlayabilirsiniz.

İki izin, kullanıcıların dal ilkesini farklı şekillerde atlamasına olanak tanır:

  • Çekme isteklerini tamamlarken ilkeleri atlama yalnızca çekme isteğinin tamamlanması için geçerlidir. Bu izne sahip kullanıcılar, çekme istekleri ilkeleri karşılamasa bile çekme isteklerini tamamlayabilir.

  • Gönderme sırasında ilkeleri atlama, yerel depolardan yapılan gönderimler ve web'de yapılan düzenlemeler için geçerlidir. Bu izne sahip kullanıcılar, ilke gereksinimlerini karşılamadan değişiklikleri doğrudan korumalı dallara gönderebilir.

İlke zorlama izinlerini atlama işlemini gösteren ekran görüntüsü.

Bu izinleri yönetme hakkında daha fazla bilgi için bkz . Git izinleri.

TFS 2015 ile TFS 2018 Güncelleştirme 2 arasında İlkeden muaf tutma izni, bu izne sahip kullanıcıların aşağıdaki eylemleri gerçekleştirmesine olanak tanır:

  • Geçerli dal ilkeleri kümesi karşılanmasa bile ilkeleri geçersiz kılmayı ve çekme isteğini tamamlamayı kabul edin.
  • Dal ilkeleri ayarlanmış olsa bile doğrudan bir dala gönderin. Bu izne sahip bir kullanıcı dal ilkesini geçersiz kabilecek bir gönderim yaptığında, gönderme, kabul etme adımı veya uyarısı olmadan dal ilkesini otomatik olarak atlar.

Önemli

Özellikle depo ve proje düzeylerinde ilkeleri atlama yeteneği verirken dikkatli olun. İlkeler, güvenli ve uyumlu kaynak kodu yönetiminin temel taşlarıdır.

Yol filtreleri

Çeşitli dal ilkeleri yol filtreleri sunar. Yol filtresi ayarlanırsa, ilke yalnızca yol filtresiyle eşleşen dosyalara uygulanır. Bu alanı boş bırakmak, ilkenin daldaki tüm dosyalar için geçerli olduğu anlamına gelir.

Mutlak yollar (yolun joker karakterle veya joker karakterle / başlaması gerekir) ve joker karakterler belirtebilirsiniz. Örnekler:

  • /WebApp/Models/Data.cs
  • /WebApp/*
  • */Models/Data.cs
  • *.cs

Ayırıcı olarak kullanarak ; birden çok yol belirtebilirsiniz. Örnek:

  • /WebApp/Models/Data.cs;/ClientApp/Models/Data.cs

Ön ekli ! yollar, aksi takdirde dahil edilirlerse dışlanır. Örnek:

  • /WebApp/*;!/WebApp/Tests/* içindeki /WebApp dosyalar dışındaki tüm dosyaları içerir /WebApp/Tests
  • !/WebApp/Tests/* hiçbir dosya belirtmez, çünkü önce hiçbir şey dahil değildir

Filtrelerin sırası önemlidir. Filtreler soldan sağa uygulanır.

Sorular ve Yanıtlar

Değişiklikleri doğrudan dal ilkeleri olan dallara gönderebilir miyim?

Dal ilkelerini atlama izniniz olmadığı sürece gerekli dal ilkeleriyle değişiklikleri doğrudan dallara gönderemezsiniz. Bu dallarda yapılan değişiklikler yalnızca çekme istekleri aracılığıyla yapılabilir. Gerekli dal ilkeleri yoksa, değişiklikleri doğrudan isteğe bağlı dal ilkeleri olan dallara gönderebilirsiniz.

Otomatik tamamlama nedir?

Dal ilkeleri yapılandırılmış dallara çekme isteklerinde Otomatik tamamlama ayarla düğmesi bulunur. Çekme isteğini tüm ilkeleri yerine getirdikten sonra otomatik olarak tamamlamak için bu seçeneği belirleyin. Otomatik tamamlama, değişikliklerinizle ilgili herhangi bir sorun beklemediğinizde kullanışlıdır.

Dal ilkesi koşulları ne zaman denetleniyor?

Çekme isteği sahipleri değişiklikleri gönderdiğinde ve gözden geçirenler oyladığında dal ilkeleri sunucuda yeniden değerlendirilir. İlke bir derlemeyi tetiklerse, derleme durumu derleme tamamlanana kadar beklemeye ayarlır.

Dal ilkelerinde XAML derleme tanımlarını kullanabilir miyim?

Hayır, dal ilkelerinde XAML derleme tanımlarını kullanamazsınız.

Gerekli kod gözden geçirenler için hangi joker karakterleri kullanabilirim?

Tek yıldız * işaretleri, hem eğik çizgi hem de ters eğik çizgi / de dahil olmak üzere herhangi bir sayıda karakterle eşleşir \. Soru işaretleri ? tek bir karakterle eşleşsin.

Örnekler:

  • *.sqltüm dosyaları .sql uzantısıyla eşleştirir.
  • /ConsoleApplication/* ConsoleApplication adlı klasörün altındaki tüm dosyaları eşleştirir.
  • /.gitattributes deponun kökündeki.gitattributes* dosyasıyla eşleşir.
  • */.gitignore depodaki herhangi bir .gitignore dosyasıyla eşleşir.

Gerekli kod gözden geçiren yolları büyük/küçük harfe duyarlı mı?

Hayır, dal ilkeleri büyük/küçük harfe duyarlı değildir.

Birden çok kullanıcıyı gerekli gözden geçirenler olarak nasıl yapılandırabilirim, ancak yalnızca birinin onaylamasını gerekli kılabilir miyim?

Kullanıcıları bir gruba ekleyebilir ve ardından grubu gözden geçiren olarak ekleyebilirsiniz. Daha sonra grubun herhangi bir üyesi ilke gereksinimini karşılamak için onaylayabilir.

İlkeyi atlama izinlerine sahibim. Çekme isteği durumunda neden hala ilke hataları görüyorum?

Yapılandırılan ilkeler her zaman çekme isteği değişiklikleri için değerlendirilir. İlkeyi atlama izinlerine sahip kullanıcılar için bildirilen ilke durumu yalnızca danışmanlıktır. Atlama izinlerine sahip kullanıcı onaylarsa, hata durumu çekme isteğinin tamamlanmasını engellemez.

"İstek sahiplerinin kendi değişikliklerini onaylamasına izin ver" ayarı ayarlandığında neden kendi çekme isteklerimi tamamlamıyorum?

Hem En az sayıda gözden geçiren gerektir ilkesinde hem de Otomatik olarak eklenen gözden geçirenler ilkesinde, istekte bulunanların kendi değişikliklerini onaylamasına izin ver seçenekleri vardır. Her ilkede, ayar yalnızca bu ilke için geçerlidir. Ayar diğer ilkeyi etkilemez.

Örneğin, çekme isteğinizde aşağıdaki ilkeler ayarlanmış:

  • En az sayıda gözden geçiren gerektir, en az bir gözden geçiren gerektirir.
  • Otomatik olarak eklenen gözden geçirenler için sizin veya içinde olduğunuz bir ekibin gözden geçiren olarak bulunması gerekir.
  • Otomatik olarak eklenen gözden geçirenler , istek sahiplerinin kendi değişikliklerini onaylamasına izin ver seçeneğini etkinleştirmiştir.
  • En az sayıda gözden geçiren gerektir seçeneğinde istekte bulunanların kendi değişikliklerini onaylamasına izin ver etkin değildir.

Bu durumda, onayınız Otomatik olarak eklenen gözden geçirenleri karşılar, ancak En az sayıda gözden geçiren gerektir'e gerek yoktur, bu nedenle çekme isteğini tamamlayamazsınız.

İstekte bulunanların kendi değişikliklerini onaylamasına izin ver ayarı ayarlanmış olsa bile kendi değişikliklerinizi onaylamanızı engelleyen en son göndericinin kendi değişikliklerini onaylamasını yasakla gibi başka ilkeler de olabilir.

Yol filtrelerindeki yol joker karakterle veya joker karakterle / başlamadığında ne olur?

Yol filtrelerinde joker karakterle / veya joker karakterle başlamayan yolun hiçbir etkisi yoktur ve yol filtresi bu yol belirtilmemiş gibi değerlendirilir. Böyle bir yol, mutlak dosya yolunun / başlangıcıyla eşleşemez.