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.
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.
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: