GithubHelp home page GithubHelp logo
  • 👋 Hi, I’m @mahsumdogan
  • 👀 I’m interested in ...
  • 🌱 I’m currently learning ...
  • 💞️ I’m looking to collaborate on ...
  • 📫 How to reach me ...

whatsapp 05432762600 instegram mahsumdgn72 facebook mahsum doğan Birleştir EV HAKKINDA BLOG GÖSTERGE PANELİ TARTIŞMALAR DURUM 🧪Örnek Kurallar ➡️Başlarken Kurulum Yapılandırma Birleştirme Çek Raporunu Anlama Komutlarla Birleştirmeyi Kontrol Etme 🔖Yapılandırma Dosyası Kullanılan Dosya Biçim Veri tipleri 🎯Koşullar Dilbilgisi Koşulları Operatörlerle Birleştirme Öznitellikler operatörler Listeler Nasıl Eşleştirilir Durum Kontrolleri Hakkında Şube Koruması Hakkında 🚀Hareketler atamak destek kapat kopyalamak yorum delete_head_branch reddet_reviews Düzenle etiket birleştirmek post_check sıra yeniden temel almak request_reviews gözden geçirmek Güncelleme squash ⚙️Komutlar yeniden temel almak Güncelleme destek kopyalamak squash yenilemek sıra sırayı kaldırmak yeniden kuyruğa girmek 🧪Örnek Kurallar ✅CI çalıştığında ve incelemeleri onaylarken Otomatik Birleştirme 🗂Değiştirilmiş Dosyalara Göre Birleştirme 🏖Stabil Şubeler için Daha Az Katı Kurallar 🎬Birleştirmeyi Etkinleştirmek/Devre Dışı Bırakmak için Etiketleri Kullanma ⚡️Birleştirmeye Öncelik Vermek için Etiketleri Kullanma 🙅️ İstenen Tüm İncelemelerin Onaylanmasını Gerektirin ☑️Çekme İsteklerini Görev Listeleriyle Eşleştirme 🤖Botlar 🔌API kimlik doğrulama daha ileri gitmek 🎖rozet gömme Stiller 💬SSS Mergify, şube koruma ayarlarım nedeniyle çekme isteğimi birleştiremiyor Tüm koşullar doğru değilken Mergify neden çekme isteğimi birleştirmiş görünüyor? 🧪Örnek Kurallar Mergify, birçok özel kural ve iş akışı tanımlamanıza olanak tanır. Kuralları tanımlamak için çok sayıda ölçüt mevcuttur: çekme isteği yazarı, temel dal, etiketler, dosyalar vb.

Bu bölümde, başlamanıza yardımcı olacak ve birçok yaygın kullanım örneğini kapsayacak birkaç örnek oluşturuyoruz.

✅CI çalıştığında ve incelemeleri onaylarken Otomatik Birleştirme

🗂Değiştirilmiş Dosyalara Göre Birleştirme

🏖Stabil Şubeler için Daha Az Katı Kurallar

🎬Birleştirmeyi Etkinleştirmek/Devre Dışı Bırakmak için Etiketleri Kullanma

⚡️Birleştirmeye Öncelik Vermek için Etiketleri Kullanma

🙅️ İstenen Tüm İncelemelerin Onaylanmasını Gerektirin

☑️Çekme İsteklerini Görev Listeleriyle Eşleştirme

🤖Botlar

✅CI çalıştığında ve incelemeleri onaylarken Otomatik Birleştirme Bu bir klasik! Bu kural, sürekli entegrasyon sistemi çekme talebini doğruladığında ve bir insan tarafından gözden geçirildiğinde Mergify otomatik birleştirmeyi etkinleştirir.

pull_request_rules:

  • name: automatic merge for main when CI passes and 2 reviews conditions:
    • "#approved-reviews-by>=2"
    • check-success=Travis CI - Pull Request
    • base=main actions: merge: method: merge Elbette, check-successhangi CI sistemini kullandığınızı yansıtmak için koşulu uyarlamanız gerekir.

Bu kuralı istediğiniz gibi değiştirebilirsiniz. Örneğin, work-in-progressbir çekme isteğinin onaylansa bile birleştirilmeye hazır olmadığını belirtmek gibi bir etiket kullanabilirsiniz:

pull_request_rules:

  • name: automatic merge for main when CI passes and 2 reviews and not WIP conditions:
    • "#approved-reviews-by>=2"
    • check-success=Travis CI - Pull Request
    • base=main
    • label!=work-in-progress actions: merge: method: merge Yalnızca belirli bir üye tarafından onaylanmışsa, bir çekme isteğini birleştirmek isteyebilirsiniz. Bu nedenle böyle bir kural yazabilirsiniz:

pull_request_rules:

  • name: automatic merge for main when CI passes approved by octocat conditions:
    • approved-reviews-by=octocat
    • check-success=Travis CI - Pull Request actions: merge: method: merge 🗂Değiştirilmiş Dosyalara Göre Birleştirme Yalnızca dokundukları dosyalara dayalı olarak bazı çekme isteklerini birleştirmeye karar verebilirsiniz. filesÖzniteliği, değiştirilmiş dosya listesine erişmek ve dosya #filessayısına erişmek için kullanabilirsiniz .

Bu ince ayar, Mergify'ın yalnızca bir komut dosyası veya linter tarafından doğrulanabilen veri dosyalarını birleştirmesini istediğinizde kullanışlıdır.

Aşağıdaki örnek yalnızca data.jsondeğiştirilirse ve çekme talebi Circle CI'nin doğrulama testlerini geçerse birleşir:

pull_request_rules:

  • name: automatic merge on CircleCI success if only data.json is changed conditions:
    • "check-success=ci/circleci: validate"
    • files=data.json
    • "#files=1" actions: merge: method: merge Ayrıca, düzenli ifadeyi kullanarak kalıpları eşleştirebilirsiniz. Aşağıdaki kural, CI geçtiğinde ve tüm dosyalar src/dizinin içindeyken çekme isteklerini birleştirir:

pull_request_rules:

  • name: automatic merge on CircleCI success if only data.json is changed conditions:
    • "check-success=ci/circleci: validate"
    • -files~=^(!?src/) actions: merge: method: merge 🏖Stabil Şubeler için Daha Az Katı Kurallar Bazı projeler, bakım dalları için daha kolay inceleme gereksinimlerine sahip olmak gibi. Bu genellikle, örneğin birleştirmek için 2 inceleme talep edilmesi main, ancak kararlı bir dal için yalnızca bir inceleme talep edilmesi anlamına gelir - çünkü bu çekme talepleri esasen main.

Bu durumda birleştirmeyi otomatikleştirmek için, bunlara bazı kurallar yazabilirsiniz:

pull_request_rules:

  • name: automatic merge for main when reviewed and CI passes conditions:
    • "check-success=ci/circleci: my_testing_job"
    • "#approved-reviews-by>=2"
    • base=main actions: merge: method: merge
  • name: automatic merge for stable branches conditions:
    • "check-success=ci/circleci: my_testing_job"
    • "#approved-reviews-by>=1"
    • base~=^stable/ actions: merge: method: merge 🎬Birleştirmeyi Etkinleştirmek/Devre Dışı Bırakmak için Etiketleri Kullanma Bazı geliştiriciler tam otomatik birleştirme konusunda rahat değiller - kodu birleştirmeden önce son bir söz söylemekten hoşlanıyorlar. Bu durumda, bir etiket kullanarak bir koşul ekleyebilirsiniz :

pull_request_rules:

  • name: automatic merge for main when reviewed and CI passes conditions:
    • check-success=Travis CI - Pull Request
    • "#approved-reviews-by>=2"
    • base=main
    • label=ready-to-merge actions: merge: method: merge Çekme talebi 2 katılımcı tarafından onaylanır ve etiketi alır ready-to-be-mergedalmaz, çekme talebi Mergify tarafından birleştirilecektir.

Öte yandan, bazı geliştiriciler, bir etiketle otomatik birleştirme özelliğini devre dışı bırakma seçeneği istiyor. Bu, şu şekilde etiketlenmiş bir çekme isteğinin work-in-progressbirleştirilmemesi gerektiğini belirtmek için faydalı olabilir:

pull_request_rules:

  • name: automatic merge for main when reviewed and CI passes conditions:
    • check-success=continuous-integration/travis-ci/pr
    • "#approved-reviews-by>=2"
    • base=main
    • label!=work-in-progress actions: merge: method: merge Bu durumda, bir çekme isteği ile etiketlenirse work-in-progress, 2 katılımcı tarafından onaylansa ve Travis CI'yi geçse bile birleştirilmez.

⚡️Birleştirmeye Öncelik Vermek için Etiketleri Kullanma Premium Plan Özelliği🦾 Kuyruk eylemini kullanırken ve birçok çekme isteği birleştirilmeyi beklerken, bazıları daha acil olabilir. Bu durumda, bir etiket kullanarak bir koşul ekleyebilir ve kuyruk eyleminin öncelik seçeneğini yapılandırabilirsiniz :

pull_request_rules:

  • name: automatic merge of 🚑 hotfix (high priority) conditions:
    • check-success=Travis CI - Pull Request
    • "#approved-reviews-by>=2"
    • base=main
    • label=🚑 hotfix actions: queue: method: merge priority: high
  • name: automatic merge of bot 🤖 (low priority) conditions:
    • author=dependabot[bot]
    • check-success=Travis CI - Pull Request
    • "#approved-reviews-by>=2"
    • base=main actions: queue: method: merge priority: low
  • name: automatic merge for main when reviewed and CI passes conditions:
    • check-success=Travis CI - Pull Request
    • "#approved-reviews-by>=2"
    • base=main actions: queue: method: merge priority: medium Çekme talebi 2 katılımcı tarafından onaylanır onaylanmaz, çekme talebi birleştirme kuyruğuna eklenecektir. Birleştirme kuyruğunda, önce etiketli çekme istekleri birleştirilir. Dependabot'tan gelen çekme istekleri her zaman en son birleştirilir.🚑 hotfix

🙅️ İstenen Tüm İncelemelerin Onaylanmasını Gerektirin İstenen tüm incelemeler onaylandıysa, o zaman sayısı review-requested0 olmalıdır. Yine de, en az bir olumlu inceleme olduğundan emin olmak istediğiniz için bu, birleşme için yeterli bir koşul değildir.

pull_request_rules:

  • name: merge when all requested reviews are valid conditions:
    • "#approved-reviews-by>=1"
    • "#review-requested=0"
    • "#changes-requested-reviews-by=0" actions: merge: method: merge İstenen bir inceleme reddedilirse, birleştirmeyi önleyecek bir inceleme olarak sayılmayacaktır.

☑️Çekme İsteklerini Görev Listeleriyle Eşleştirme GitHub Markdown , kullanıcıların çekme isteği gövdesinde görev listelerini kullanmalarına olanak tanır. Görev listeleri, yorumlarda tıklanabilir onay kutuları ile işlenir ve bunları eksiksiz veya eksik olarak işaretlemek için onay kutularını seçebilir veya seçimini kaldırabilirsiniz. Görev listeleri genellikle çekme isteği şablonlarında kullanılır .

../_images/tasklist.png body Özniteliği ve normal ifadeleri kullanarak görev listelerini eşleştirmek için Birleştirme koşullarından yararlanabilirsiniz . Vücudunuz aşağıdaki Markdown'ı içeriyorsa, örneğin bir birleştirme yapmadan önce bu kutuların işaretlendiğinden emin olabilirsiniz.

[ ] Security has been checked [ ] Changes have been documented pull_request_rules

  • name: merge when checkboxes are checked conditions:
    • body~=(?m)^[X] Security has been checked
    • body~=(?m)^[X] Changes have been documented
    • check-success=my favorite ci actions: merge: method: merge 🤖Botlar Bazı çekme istekleri, otomatik bağımlılık güncellemesi gönderenler gibi diğer araçlar tarafından otomatik olarak oluşturulabilir. Sürekli entegrasyon sisteminiz bunları doğruladığı sürece, bu çekme isteklerini manuel olarak incelemeye ve onaylamaya gerek olmadığına karar verebilirsiniz.

Aşağıdaki kurallar bu tür hizmetlere örnektir: sürekli entegrasyon sistemi tarafından doğrulanırsa bu güncellemeleri insan müdahalesi olmadan otomatik olarak birleştirmek için tasarlanmıştır. burada CI kontrol adı olarak kullanılır - ne kullanırsanız kullanın onu ayarlayın.Travis CI - Pull Request

bağımlı robot Dependabot , GitHub otomatik güvenlik güncellemesinin arkasındaki bottur. Projenizin bağımlılıkları için güvenli olduklarından emin olmak için otomatik güncellemeler gönderir.

Bağımlı bot tarafından oluşturulan çekme isteğinin birleştirilmesini aşağıdaki gibi bir kuralla otomatikleştirebilirsiniz :

pull_request_rules:

  • name: automatic merge for Dependabot pull requests conditions:
    • author=dependabot[bot]
    • check-success=Travis CI - Pull Request actions: merge: method: merge Alternatif olarak, yalnızca aynı ana sürüm içinse, bağımlı bot çekme isteği için otomatik birleştirmeyi de etkinleştirebilirsiniz .

pull_request_rules:

  • name: automatic merge for Dependabot pull requests conditions:
    • author=dependabot[bot]
    • check-success=Travis CI - Pull Request
    • title~=^Bump [^\s]+ from ([\d]+)..+ to \1. actions: merge: method: merge Ek başlık tabanlı kural conditions, yalnızca 1.x'ten 1.y'ye güncellemelerin otomatik olarak birleştirildiğinden emin olun. 2.x'ten 3.x'e güncellemeler Mergify tarafından yok sayılır.

Snyk Snyk , projenizin bağımlılıkları için otomatik güncellemeler gönderir.

pull_request_rules:

  • name: automatic merge for Snyk pull requests conditions:
    • title~=^[Snyk]
    • head~=^snyk-fix
    • check-success~=^security/snyk actions: merge: method: merge Yenilemek Renovate , projenizin bağımlılıkları için otomatik güncellemeler gönderir.

pull_request_rules:

  • name: automatic merge for Renovate pull requests conditions:
    • author=renovate[bot]
    • check-success=Travis CI - Pull Request actions: merge: method: merge Requires.io Requires.io , projenizin bağımlılıkları için otomatik güncellemeler gönderir (yalnızca Python'un paketleri).

pull_request_rules:

  • name: automatic merge for Requires.io pull requests conditions:
    • title~=^[requires.io]
    • head~=^requires-io
    • check-success=Travis CI - Pull Request actions: merge: method: merge PyUp PyUp , projenizin Python bağımlılıkları için otomatik güncellemeler gönderir.

pull_request_rules:

  • name: automatic merge for PyUp pull requests conditions:
    • author=pyup-bot
    • check-success=Travis CI - Pull Request actions: merge: method: merge Depfu Depfu , Ruby, JavaScript ve Elixir projenizin bağımlılıklarının yeni sürümleri hakkında sizi otomatik olarak bilgilendirir.

pull_request_rules:

  • name: automatic merge for Depfu pull requests conditions:
    • author=depfu[bot]
    • check-success=Travis CI - Pull Request actions: merge: method: merge ImgBot ImgBot , resimlerinizi optimize eder ve size zaman kazandırır.

pull_request_rules:

  • name: automatic merge for ImgBot pull requests conditions:
    • author=imgbot[bot]
    • check-success=Travis CI - Pull Request actions: merge: method: merge © Copyright 2022, Birleştirme

mahsumdogan's Projects

d3 icon d3

Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.