/ / Kann ich verlangen, dass alle GitHub-Commits von einer Pull-Anfrage stammen? - git, github, githooks

Kann ich verlangen, dass alle GitHub-Commits von einer Pull-Anfrage kommen? - git, github, githooks

Ich möchte erzwingen, dass alle Commits zum Master von einer Pull-Anfrage kommen. Wir wollen Commits nicht direkt beherrschen, wenn sie nicht durch eine Pull-Anfrage kommen.

Gibt es eine Möglichkeit, dies zu tun? Kann dies beispielsweise über einen Server-Hook erreicht werden?

Antworten:

0 für die Antwort № 1

Ich denke, Sie wollen dieses Verhalten für GitHub Pull-Anfragen! Da github keine serverseitigen Hooks bietet, müssen Sie es selbst und auf Ihrem Rechner machen!

Wenn Sie Github-Pull-Requests auf Ihren Repo anwenden, kann es passieren, dass es einen schnellen Vorlauf gibt. Und da du das nicht willst, solltest du Folgendes tun:

  1. Fügen Sie einen neuen Remote hinzu (das Repository, das die Commits für die Pull-Anforderung hat)
  2. Holen Sie die neue Fernbedienung
  3. Verbinden Sie den entsprechenden Zweig mit --no-ff
  4. Schieben Sie es auf Ihren GitHub-Account.

Dies würde sicherstellen, dass Ihr Master nur zusammengeführt wird, selbst wenn es einen schnellen Vorlauf geben könnte. Sie können anschließend die Fernbedienung entfernen.

Wenn Sie Ihr Repository für andere freigeben (öffentlicher Schreibzugriff), können Sie dies nicht erzwingen. Aber ich würde anderen nicht erlauben, auf mein Repository zuzugreifen!


Wenn Sie sicherstellen wollen, dass niemand sich dazu verpflichten kannIm Master-Zweig (auf jedem Fork / Clone des Repositorys) sollten Sie einen Hook (Client-Seite) schreiben, der den Zweig überprüft und das Commit abbricht, wenn der Zweig Master ist. Bitte beachten Sie, dass jeder Benutzer den Hook selbst standardmäßig aktivieren muss und jeder Benutzer einen Commit ausführen kann, ohne die Hooks laufen zu lassen!