Gitflow: Direkte Commits zum Master verbieten

Erstellt am 12. Juli 2013  ·  17Kommentare  ·  Quelle: nvie/gitflow

Um Git-Flow zu folgen, sollten wir direkte Commits zum Master-Branch verbieten, mit der Absicht, dass Benutzer Releases oder Hotfixes verwenden sollten, um sich auf den Master-Branch festzulegen.

Hilfreichster Kommentar

Um Commits auf dem Master zu verbieten, bearbeiten Sie die Hook-Datei pre-commit im Hooks-Verzeichnis.

Fügen Sie den folgenden Code hinzu, der zuerst ausgeführt werden soll:

branch=`git symbolic-ref HEAD`
if [ "$branch" = "refs/heads/master" ]; then
    echo "Direct commits to the branch master are not allowed"
    exit 1
fi

Alle 17 Kommentare

Ich stimme mit Ihnen ein.

Um Commits auf dem Master zu verbieten, bearbeiten Sie die Hook-Datei pre-commit im Hooks-Verzeichnis.

Fügen Sie den folgenden Code hinzu, der zuerst ausgeführt werden soll:

branch=`git symbolic-ref HEAD`
if [ "$branch" = "refs/heads/master" ]; then
    echo "Direct commits to the branch master are not allowed"
    exit 1
fi

@petervanderdoes : Sind diese Zeilen in Ihrer Gabelung enthalten?

@HassanCehef Nr.

Sie können diese Zeilen nicht in Git-Flow einfügen, da es sich um einen Hook handelt, der von git commit ausgelöst wird, und nicht um einen Git-Flow-Befehl. Für weitere Informationen zu Git-Hooks empfehle ich Folgendes: http://git-scm.com/book/en/Customizing-Git-Git-Hooks

@petervanderdoes vielen Dank, es hat wunderbar funktioniert :)

Könnte git-flow-init erweitert werden, um diesen Hook hinzuzufügen?

@samkellett Nr.

Wie bereits erwähnt: Sie können diese Zeilen nicht in Git-Flow einfügen, da es sich um einen Hook handelt, der durch Git Commit ausgelöst wird, nicht um einen Git-Flow-Befehl.

Tut mir leid, dass ich deine Antwort verpasst habe! Wenn Sie ein git flow init , wäre es für Git-Flow möglich, dieses Bash-Skript für die Datei $#$ pre-commit $#$ im Verzeichnis .git/hooks zu erstellen (oder die Option zum Erstellen zu geben)?

@samkellett Was wäre der Zweck davon in git flow init ? Der Befehl schreibt nichts fest, er erstellt nur einen Produktions- und einen Entwicklungszweig, wenn sie nicht vorhanden sind, und fügt die erforderlichen Informationen zur Datei .git/config hinzu.

Ich dachte nur, dass es die Umgebung einrichtet und ein Teil davon ist, dass Sie sich nicht länger zum Master verpflichten sollten, die Installation des Hooks, während Sie ein Git-Flow-Setup erstellen, erzwingt diese neue Unterscheidung

@samkellett Ich hab dich.

Gute Idee. Vielleicht getrennt in einem contrib -Verzeichnis, wie completion in Git.

Ja das könnte funktionieren!

Nur eine Warnung, es wird in diesem Repo nicht hinzugefügt. Dieses Repo wurde seit 2 Jahren nicht aktualisiert.

haha, oh ja..!

@petervanderdoes , Danke für das Skript. Aber wie kann ich eine benutzerweise Branch-Push-Beschränkung hinzufügen?

Ich verwende die Schnittstelle von coco.os

Am 2. November 2016 um 11:21 schrieb Fahad Ahammed [email protected] :

@petervanderdoes , Danke für das Skript. Aber wie kann ich eine benutzerweise Branch-Push-Beschränkung hinzufügen?


Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

Möchten Sie den ssh-rsa-Schlüssel?

Am 2. November 2016 um 11:21 schrieb Fahad Ahammed [email protected] :

@petervanderdoes , Danke für das Skript. Aber wie kann ich eine benutzerweise Branch-Push-Beschränkung hinzufügen?


Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen