git - matches - Elegante Lösung, um zu verhindern, dass nur der Master unter Druck gesetzt wird



delete github (4)

Aktualisieren

Github hat seitdem das Konzept der geschützten Zweigniederlassungen eingeführt. Sie finden es unter Settings -> Branches -> Protected Branches

Dieser "Schutz" kann für jeden Zweig und für jeden Benutzer, einschließlich Administratoren, aktiviert werden.

Weitere Informationen finden Sie hier - https://help.github.com/articles/defining-the-mergeability-of-pull-requests/

Sie können dies in Github nicht verhindern.

Was Sie tun können, ist ein Zwischenrepo auf Ihrer Seite, führen Sie einen Haken vor dem Empfang ein, um ein Drücken zu verhindern, und drücken Sie von diesem Zwischenrepo auf den Github und blockieren Sie den Zugang für ein direktes Drücken auf den Github. Ja, das ist nicht elegant und du verlierst viele Funktionen mit Github, aber ich sehe keinen anderen Weg.

Bearbeiten: Bin gerade auf diese Antwort gestoßen, die dasselbe sagt und eine andere Problemumgehung bietet: GitHub - verhindert, dass Mitbearbeiter push -f verwenden

https://ffff65535.com

Ich versuche einen guten Weg zu finden, um Entwickler daran zu hindern, Master mit Git zu forcieren. Wir haben GitHub zum Hosten unserer Remote-Repositorys verwendet, sodass ein Hook pre-receive nicht möglich ist. Gibt es noch andere Lösungen, die für ein Entwicklerteam problemlos implementiert werden könnten?

Als Randnotiz möchte ich das Drücken mit Gewalt im Allgemeinen nicht deaktivieren. Manchmal ist es ein notwendiges Übel. Trotzdem kann es nicht dazu kommen, dass der Meister unter Druck gesetzt wird.


GitHub hat eine neue Funktion namens "Protected Branches" eingeführt, um ein erzwungenes Drücken zu verhindern. Sie können es unter Repository-Einstellungen> Zweige konfigurieren.


Im Falle von GitHub ist es möglich, Force Pushs zu blockieren, aber es ist nicht möglich, diese Änderung alleine vorzunehmen. Sie müssen sich an den Support ([email protected], https://github.com/contact ) wenden, um die Änderungen an den von Ihnen angegebenen Repositorys vorzunehmen.






git-push