Wie deaktiviere ich Pull-Requests in GitHub?

Lesezeit: 5 Minuten

Benutzer-Avatar
Jason

Ich versuche zu verstehen, wie ich “Pull Requests” in Github deaktivieren kann.

Frage 1: Wir versuchen, den Rebase-Workflow zu verwenden, und das bedeutet, dass die Verwendung von Pull-Anforderungen schädlich sein kann, wenn dies kein schneller Vorwärtsschub ist. Eine Lösung: Richten Sie Zweigberechtigungen für die Zweige ein, in denen ich die Pull-Anfrage deaktivieren möchte. Oder fügen Sie mich als Rezensent zu allem hinzu, was in den Master geht.

Frage 2: Das wirft also die Frage auf, kann ich Branch-Berechtigungen in Github einrichten? Kann ich mich selbst als Prüfer für jede Änderung hinzufügen, die in den Master aufgenommen werden möchte?

Frage 3: Github hat Pre-Receive-Hooks definitiv entfernt, also wie kann ich irgendwelche Durchsetzungen durchführen, bevor die Quelle den Server erreicht? Pre-Commit-Hooks können gemacht werden, können aber gleichzeitig schmerzhaft sein.

Ich hatte hier eine ähnliche Frage gestellt: Commit message hook on github

Es scheint, dass Github für den Merge-Workflow oder sogar Git-Flow nützlich sein könnte, aber es kann schwierig sein, es für den Rebase-Workflow zu warten, ist das eine faire Annahme?

Kann ich Atlassian Stash als besseres Tool für den Rebase-Workflow betrachten?

  • Prüfen Sie, ob die neueste (November 2021) Funktion „Umgehen erforderlicher Pull-Anforderungen“ helfen kann: siehe meine bearbeitete Antwort unten](stackoverflow.com/a/40008924/6309).

    – VonC

    20. November 2021 um 0:23 Uhr

Benutzer-Avatar
Ciro Santilli Путлер Капут 六四事

Laut GitHub-Support ist dies nicht möglich

Ich habe den Support [email protected] im Februar 2018 gefragt, ob es möglich sei, die Registerkarte „Pull Requests“ zu entfernen, und die Antwort von @nickcannariato lautete:

Danke fürs Schreiben! Wir haben definitiv gehört, dass einige Benutzer diese Funktion in den letzten Jahren angefordert haben, und sie befindet sich derzeit auf unserer Feature-Request-Liste. Ich kann nicht versprechen, ob oder wann wir diese Funktion in Zukunft hinzufügen werden, aber ich werde Ihre +1 zu dieser Funktionsanfrage hinzufügen, damit das Team sie sehen kann.

bestätigen, dass es nicht möglich ist.

Anfrage zu den De-facto-Trackern:

Benutzer-Avatar
VonC

Wie deaktiviere ich Pull-Requests in GitHub?

Seit Nov. 2021 ist dies nun möglich:

Erlauben Sie das Umgehen erforderlicher Pull-Requests

Dies ist eine bewährte Vorgehensweise, aber vielleicht möchten Sie für bestimmte Personen und Teams Ausnahmen von dieser Regel machen.
Wenn Sie beispielsweise einen automatisierten Prozess haben, der GitHub-APIs aufruft, um Änderungen in einem Repository vorzunehmen, möchten Sie möglicherweise zulassen, dass diese Automatisierung Änderungen vornimmt, ohne eine Pull-Anforderung zu erstellen.

Wenn Sie jetzt Pull-Requests und die damit verbundenen Schutzmaßnahmen für einen Zweig benötigen, können Sie Personen und Teams angeben, die von diesen Anforderungen befreit werden sollen.

Wählen Sie wie in der Abbildung unten gezeigt die Option Bestimmten Akteuren das Umgehen von Pull-Request-Anforderungen erlauben aus. Suchen Sie dann nach Personen und Teams, die die Anforderungen umgehen dürfen, und wählen Sie sie aus.

Screenshot der Option zum Umgehen von PR-Anforderungen – https://github.blog/wp-content/uploads/2021/11/bypass-pull-request-requirements.png?resize=715%2C375?w=715

Weitere Informationen finden Sie unter Verwalten einer Zweigschutzregel.


Vor 2021 war das nicht möglich:


Armin Sebastian schlägt ein GitHub-Problem 1191

Ich habe eine neue App erstellt, die neue und vorhandene Probleme oder Pull-Anforderungen sofort schließt und sperrt und auch das Posten eines Kommentars und eine Kennzeichnung unterstützt.
Es ist perfekt für Gabeln und Spiegel, und Sie können es nach Ihren Wünschen konfigurieren

dessant/repo-lockdownmit einer .github/lockdown.yml einschließlich

# Lock issues and pull requests
lock: true

# Limit to only `issues` or `pulls`
# only: pull

Andere Problemumgehung:

Beachten Sie Folgendes (unter Berücksichtigung der OP-Daten ab Januar 2015):

Und seit Oktober 2016 können Sie eine Bewertung ablehnen

https://cloud.githubusercontent.com/assets/98681/19321785/3ad41962-906b-11e6-9320-f24bf164e17e.png

Diese Anforderung kann jedoch manchmal den Fortschritt Ihres Teams ohne triftigen Grund blockieren.
Wenn jemand eine Bewertung hinterlässt, in der Änderungen angefordert werden, und dann in den Urlaub fährt oder auf Computerprobleme stößt, kann Ihre Pull-Anforderung tagelang blockiert werden, selbst nachdem Sie auf die Bedenken des Bewerters eingegangen sind.

Dadurch wird Ihre Pull-Anforderung entsperrt, sodass Sie sie zusammenführen können!

  • Danke @VonC, wir haben all diese Änderungen bereits implementiert. Jetzt bleibt nur noch Single Single On oder LDAP 🙂

    – Jason

    13. Oktober 2016 um 16:37 Uhr

Benutzer-Avatar
Jason Halle

Ich habe ein Tool erstellt, um Pull-Requests automatisch zu schließen, wenn sie geöffnet werden.

https://nopullrequests.appspot.com

Edit: Das Tool ist nicht mehr aktiv.

  • Da steht 500 Serverfehler.

    – Aaron Franke

    10. März um 1:50 Uhr

  • Oh ja, ich habe es abgelehnt. Sie können dasselbe jetzt mit GitHub Actions simulieren: github.com/imjasonh/nopr-action

    – Jason Halle

    11. März um 13:33 Uhr

Sie können mit Github keine Branch-Berechtigungen einrichten. Wenn Sie jedoch der einzige mit Push-Berechtigungen sind, müssen Sie die Erstellung von Pull-Requests nicht verbieten: Sie können sie einfach rebasen und manuell pushen.

Ein Tool, das genau auf Ihre Bedürfnisse zugeschnitten ist Gerhard. Es ist eine Open-Source-Software, die sich wie eine Art Wrapper um Git verhält. Es ist hauptsächlich eine Code-Review-Software. Sie können aber auch Berechtigungen pro Branche definieren.

Ein Unterschied zu Github besteht jedoch darin, dass Sie es wahrscheinlich selbst hosten müssen.

1246620cookie-checkWie deaktiviere ich Pull-Requests in GitHub?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy