Çekme isteklerini tamamlama, bırakma veya geri döndürme

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

Visual Studio 2019 | Visual Studio 2022

Tüm gerekli gözden geçirenler çekme isteğinizi (PR) onayladıktan ve çekme isteği tüm dal ilkesi gereksinimlerini karşıladıktan sonra, değişikliklerinizi hedef dalla birleştirip çekme isteğini tamamlayabilirsiniz. Veya çekme isteğindeki değişikliklere devam etmemeye karar verirseniz, çekme isteğini bırakabilirsiniz.

Gözden geçirenlerin değişikliklerini ele almak, gözden geçirme açıklamalarını yanıtlamak ve çözümlemek için bkz . Açıklamaları adresle.

Ö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.

  • Çekme isteğinizi tamamlamak için, çekme isteğinin içinde olduğu projede Katkıda Bulunanlar güvenlik grubunun üyesi olmanız veya ilgili izinlere sahip 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.

  • PR'leri görüntülemek veya gözden geçirmek için Azure DevOps projesine Temel veya daha yüksek erişiminiz olmalıdır.

  • Katkıda bulunmak istediğiniz projenin üyesi değilseniz, eklemeye başlayın.

    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.
  • Çekme isteğini tamamlamak için, değiştirmek istediğiniz projede Katkıda Bulunanlar güvenlik grubunun üyesi olmanız veya ilgili izinlere sahip 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.
  • PR'leri görüntülemek veya gözden geçirmek için Temel erişim veya daha yüksek erişime sahip Azure DevOps projesinin bir üyesi olmanız gerekir. Proje üyesi değilseniz, eklensin.
  • Azure DevOps Services'te, uzantıyla azure-devops Azure komut satırı arabiriminden (CLI) PR'leri ve diğer kaynakları yönetebilirsiniz. Azure DevOps Services CLI ile çalışmayı öğrenmek için bkz . Azure DevOps CLI'yı kullanmaya başlama. PR'ler için Azure Repos CLI komutları az repos pr kullanır.

Birleştirme değişikliklerini denetleme

Çekme isteğini tamamladığınızda Git, ana dalın sonuna yeni bir birleştirme işlemesi ekler. Bu birleştirme işlemesi, ana dalın ve çekme isteği kaynak dalının önceki geçmişlerini bağlar. Önizleme birleştirme işlemesini görmek ve birleştirme çakışmalarını denetlemek için, çekme isteğine Genel Bakış sayfasının sağ üst kısmındaki Diğer seçenekler menüsünü ve ardından Birleştirme değişikliklerini görüntüle'yi seçin.

Çekme isteğini oluşturduktan sonra hedef dalı değiştirdiyseniz Birleştirmeyi yeniden başlat'ı seçerek yeni bir önizleme birleştirme işlemesi oluşturun ve birleştirme değişikliği fark görünümünü güncelleştirin.

P R'nin Diğer seçenekler menüsündeki Birleştirmeyi görüntüle ve Birleştirmeyi yeniden başlat seçeneklerini gösteren ekran görüntüsü.

Dal ilkelerini gözden geçirme

Ekipler, korumalı dallardaki PR'lerin birleştirilmeden önce belirli ölçütleri karşılamasını gerektiren dal ilkeleri ayarlayabilir. Çekme isteğiniz için geçerli olan dal ilkelerini, birleştirme için gerekli olup olmadığını ve çekme isteğinin geçirilip geçirilip geçmediğini görebilirsiniz.

Çekme İsteğine Genel Bakış sekmesi, çekme isteği için geçen veya başarısız olan dal ilkelerini özetler. Genel bakışta yalnızca başarısız ilkeler listelenir, ancak n denetimi görüntüle'yi <seçerek tüm ilke denetimlerini görebilirsiniz.>

Çekme İsteğine Genel Bakış sayfasında, dal ilkesi gereksinimlerinin bir simgesi vardır. Gereksinimin yanındaki Diğer seçenekler'i ve ardından İlkeyi görüntüle'yi seçerek Proje Ayarları'ndaki dalın Dal İlkeleri sayfasına gidin.

P R'de dal ilkesi gereksiniminin yanındaki İlkeyi görüntüle'yi gösteren ekran görüntüsü.

Çekme isteğini tamamlama

Birleştirme çakışmalarını çözümledikten ve çekme isteği tüm dal ilkelerini karşıladıktan ve tüm gerekli onaylara sahip olduktan sonra çekme isteğini tamamlayabilirsiniz.

  1. Çekme isteğini tamamlamak için sağ üst köşeden Tamamla'yı seçin. İsterseniz, Tamamla düğmesinin yanındaki açılan oku seçin ve seçeneklerden birini belirleyin.

    P R için Tamamla düğmesi seçeneklerini gösteren ekran görüntüsü.

    • Tamamlandı: Çekme isteğini şimdi tamamlayın ve değişiklikleri hedef dalla birleştirin.
    • Otomatik tamamlama ayarla: Çekme isteğini tüm gerekli dal ilkelerini karşıladıktan sonra tamamlayacak ve birleştirecek şekilde yapılandırın.
    • Taslak olarak işaretle: Çekme isteğini taslak durumuna döndürerek tüm oyları kaldırın.
    • Bırakma: Çekme isteğini değişiklikleri birleştirmeden kapatın.
  2. Çekme isteğini tamamla bölmesindeki Birleştirme türü altında birleştirme seçeneklerinden birini seçin.

    P R iletişim kutusunun tamamını gösteren ekran görüntüsü.

    • Birleştirme (ileri sarma olmadan): Tüm işlemeleri koruyan doğrusal olmayan bir geçmişle birleştirin.
    • Squash işlemesi: Tüm kaynak işlemeleri hedefte tek bir işlemede birleştiren doğrusal bir geçmişle birleştirin veya squash çekme isteğini birleştirir . İşleme geçmişini kaynak daldan tutmadan hedef dal için yeni bir işleme oluşturulacağını unutmayın.
    • Yeniden temel ve ileri sarma: Kaynak işlemelerini hedefe ve ileriye doğru yeniden temelleyin.
    • Yarı doğrusal birleştirme: Kaynakta yeniden temel oluşturma hedefi işler ve iki üst birleştirme oluşturur.

    Not

    Mevcut ilkeler zorunlu kılındı. Örneğin, dalınızın şu anda "yalnızca squash birleştirme" ilkesi varsa, başka bir birleştirme türü kullanmak istiyorsanız bu ilkeyi değiştirmeniz gerekir.

  3. Aşağıdaki tamamlama sonrası seçeneklerinden herhangi birini seçin. Bazı birleştirme türleri için bazı seçenekler kullanılamaz.

    • Birleştirmeden sonra ilişkili iş öğelerini tamamlama: Bağlı iş öğelerini tamamlayın.
    • Birleştirdikten sonra dal adını> silin<: Birleştirdikten sonra ÇEKME isteğinin kaynak dalını silin.
    • Birleştirme işleme iletisini özelleştirme: Özel birleştirme işleme iletisi ekleyin. Bu seçeneği seçerseniz birleştirme işleme iletisini güncelleştirin.
    • Dal ilkelerini geçersiz kılın ve birleştirmeyi etkinleştirin. Çekme isteği tüm dal ilkelerini karşılamasa bile birleştirmeyi zorlar. Bu seçenek yalnızca ilke zorlama izninden muaf tutma izniniz varsa kullanılabilir.
  4. Birleştirmeyi tamamla'yı seçin.

  1. Çekme isteğini tamamlamak için sağ üst köşeden Tamamla'yı seçin. Alternatif olarak, Tamamla düğmesinin yanındaki açılan oku seçin ve aşağıdaki seçeneklerden birini belirleyin:

    Çekme isteğinin Tamamla düğmesi seçeneklerini gösteren ekran görüntüsü.

    • Tamamlandı: Çekme isteğini şimdi tamamlayın ve değişiklikleri hedef dalla birleştirin.
    • Otomatik tamamlama ayarlama: Dal ilkeleriniz varsa, çekme isteğini tüm gerekli dal ilkelerini karşıladıktan sonra tamamlayacak ve birleştirecek şekilde yapılandırın.
    • Bırakma: Çekme isteğini değişiklikleri birleştirmeden kapatın.
  2. Çekme isteğini tamamla ekranında birleştirme işlemesi için iletiyi girin ve çekme isteği açıklamasını güncelleştirin.

    Çekme isteğini tamamla iletişim kutusu

  3. Aşağıdaki seçeneklerden birini belirleyin:

    • Bağlı iş öğelerini tamamlamak için birleştirdikten sonra bağlantılı iş öğelerini tamamlayın.

    • Kaynak <branch name> dalı çekme isteğinden silmek için birleştirdikten sonra silin.

    • Squash çekme isteğinizi birleştirmek için birleştirirken squash değişir. İşleme geçmişini kaynak daldan tutmadan hedef dal için yeni bir işleme oluşturulacağını unutmayın.

    • Dal ilkelerini geçersiz kılın ve tüm dal ilkelerini karşılamasa bile bir dalı birleştirmeye zorlamak için birleştirmeyi etkinleştirin. Bu seçenek yalnızca ilke zorlama izinlerinden muaf tutma izinleriniz varsa kullanılabilir.

      Not

      Mevcut ilkeler yine de zorlanır. Örneğin, dalınızın şu anda "yalnızca squash birleştirme" ilkesi varsa, diğer birleştirme türlerini kullanmak için bu ilkeyi düzenlemeniz gerekir.

  4. Birleştirmeyi tamamla'yı seçin.

Birleştirmeyi tamamladığınızda, bağlı iş öğeleri çekme isteğinin tamamlanmasını gösterecek şekilde otomatik olarak güncelleştirilir.

Tamamlanan P Rs değerini gösteren bağlantılı iş öğelerinin ekran görüntüsü.

Çekme isteği tamamlama sırasında yeniden temel alma

Çekme isteği tamamlama sırasında yeniden başlatmanın mümkün olmadığı birkaç durum vardır:

  • Hedef daldaki bir ilke yeniden temel stratejilerinin kullanılmasını yasaklarsa, yeniden temel almak için Dal ilkelerini geçersiz kılma iznine sahip olmanız gerekir.
  • Çekme isteği kaynak dalı ilkelerine sahipse, yeniden temel alamazsınız. Yeniden dengeleme, ilke onay işlemine geçmeden kaynak dalı değiştirir.
  • Birleştirme Çakışması Uzantısı'nı birleştirme çakışmalarını çözmek için kullandıysanız yeniden temel alamazsınız. Üç yönlü birleştirmeye uygulanan çakışma çözümleri, tüm çekme isteği işlemeleri ayrı ayrı yeniden oluşturulurken nadiren başarılı veya geçerli olur.

Tüm bu durumlarda dalınızı yerel olarak yeniden temel almaya ve ardından yukarı akışa göndermeye veya çekme isteğini tamamladığınızda değişikliklerinizi sıkıştırarak birleştirmeye devam edebilirsiniz.

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.

Birleştirme çakışmalarını çözümleme

Dalınızdaki dosya değişiklikleri başka bir daldaki değişikliklerle çakışabilir. Değişiklikleri birleştirme açık olmadığında Git, çekme isteğinin Genel Bakış sayfasında çakışan dosyaları gösterir. Çekme isteğini birleştirmeden veya çekme isteğini otomatik tamamlamaya ayarlamadan önce çekme isteği dalı ile hedef dal arasındaki birleştirme çakışmalarını çözmeniz gerekir. Birleştirme çakışmalarını çözme yönergeleri için bkz . Birleştirme çakışmalarını çözme.

P R'nin Genel Bakış sekmesinde birleştirme çakışmalarını gösteren ekran görüntüsü.

Otomatik tamamlama için çekme isteği ayarlama

Koşullar tüm dal ilkelerini karşılar karşılamaz çekme isteği değişikliklerini tamamlamak ve birleştirmek için Tamamla açılan listesinden Otomatik tamamlama ayarla'yı seçin. Çekme isteği tamamlandığında bir e-posta bildirimi alırsınız. Bir çakışma veya hata çekme isteğinin tamamlanmasını engelliyorsa, e-posta sorunu size bildirir.

Not

Otomatik tamamlama ayarla seçeneği, dal ilkeleriniz olduğunda Azure Repos ve TFS 2017 ve üzeri sürümlerde kullanılabilir. Otomatik tamamlama ayarla seçeneğini görmüyorsanız dal ilkeleriniz yoktur. Daha fazla bilgi için bkz . Dal ilkeleri.

Varsayılan olarak, otomatik tamamlama olarak ayarlanmış bir çekme isteği yalnızca gerekli ilkelerde bekler. Otomatik tamamlamayı etkinleştir panelinde isteğe bağlı ilkeleri beklemeyi de seçebilirsiniz.

Otomatik tamamlamayı etkinleştir panelinde isteğe bağlı bir ilkenin gerekli olarak değiştirilmesini gösteren ekran görüntüsü.

TFS 2018 Güncelleştirme 2'den başlayarak, Çekme İsteğine Genel Bakış sayfasında çekme isteğinin beklediği bekleyen ilke ölçütlerinin listesi görüntülenir. Otomatik tamamlamayı etkinleştir panelinde gerekli olacak şekilde bir ilke ayarladıysanız, Genel Bakış sayfasında ilkeyi isteğe bağlı olarak ayarlayabilirsiniz.

Otomatik tamamlama'yı kapatmak için Otomatik tamamlamayı iptal et'i seçin.

Otomatik tamamlama durumundaki çekme isteğinin ekran görüntüsü.

Otomatik tamamlama durumundaki çekme isteğinin ekran görüntüsü.

Otomatik tamamlamaya ayarlanmış bir çekme isteği, Çekme istekleri sayfasında otomatik tamamlama rozeti görüntüler.

Çekme isteği listesinde otomatik tamamlama çekme isteğini gösteren ekran görüntüsü.

Çekme isteğini bırakma veya yeniden etkinleştirme

Değişikliklerinizi ve çekme isteğinizi birleştirmeden bırakmak için, Tamamla düğmesindeki açılan listeden Bırak'ı seçin. Terk edilen çekme isteğini görüntülemeye devam edebilirsiniz ve iş öğeleriyle bağlantılı kalır.

Bırakılan çekme isteğini istediğiniz zaman yeniden etkinleştirmek için Çekme İsteği görünümündeki Bırakılan sekmesinden çekme isteğini açın ve sağ üstteki Yeniden etkinleştir'i seçin.

Tamamlanmış çekme isteğini geri döndürme

Çekme isteğindeki değişiklikleri geri almak için şu adımları izleyin. Daha fazla bilgi için bkz . Değişiklikleri geri alma.

  1. Tamamlanan çekme isteğini açın ve Geri Al'ı seçin. Bu eylem, deponuzdaki mevcut bir hedef dalda çekme isteğini geri alan değişiklikler içeren yeni bir dal oluşturur.

  2. Çekme isteğini geri döndür bölmesinde:

    1. Hedef dal'ın altında çekme isteği değişikliklerini geri almak istediğiniz dalı seçin.
    2. Konu dal adı gerekli altında, isterseniz çekme isteği dalını geri döndür adını değiştirin.
    3. Geri Al'ı seçin.
  3. Yeni çekme isteği ekranında Oluştur'u seçin.

  4. Geri döndürme işlemini tamamlamak için yeni çekme isteğini birleştirin.

Not

Bu geri döndürme sırasında oluşturulan dal, özgün çekme isteğinden tüm dosya değişikliklerini geri döndüren tek bir işlemeye sahiptir. Dal, özgün çekme isteğindeki işlemelerin her biri için geri döndürülen bir işleme içermez.

Sonraki adımlar