Gitflow: Interdire les commits directs au maître

Créé le 12 juil. 2013  ·  17Commentaires  ·  Source: nvie/gitflow

Afin de suivre Git-Flow, nous devons interdire les commits directs sur la branche master, avec l'intention que les utilisateurs utilisent des versions ou des correctifs pour s'engager sur la branche master.

Commentaire le plus utile

Pour interdire les commits sur master, éditez le fichier hook pre-commit dans le répertoire hooks.

Ajoutez le code suivant à exécuter en premier :

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

Tous les 17 commentaires

Je suis d'accord avec toi.

Pour interdire les commits sur master, éditez le fichier hook pre-commit dans le répertoire hooks.

Ajoutez le code suivant à exécuter en premier :

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 : ces lignes sont-elles incluses dans votre fork ?

@HassanCehef Non.

Vous ne pouvez pas inclure ces lignes dans git-flow car il s'agit d'un crochet déclenché par git commit non d'une commande git-flow. Pour plus d'informations sur les crochets git, j'ai suggéré de lire: http://git-scm.com/book/en/Customizing-Git-Git-Hooks

@petervanderdoes merci beaucoup, ça a fonctionné comme un charme :)

git-flow-init pourrait-il être étendu pour ajouter ce crochet ?

@samkellet Non.

Comme mentionné précédemment : vous ne pouvez pas inclure ces lignes dans git-flow car il s'agit d'un hook déclenché par git commit et non d'une commande git-flow.

Désolé j'ai raté votre réponse ! Lorsque vous faites un git flow init , serait-il possible que git flow crée (ou donne la possibilité de créer) ce script bash au fichier pre-commit dans le répertoire .git/hooks ?

@samkellett Quel serait le but de cela dans git flow init ? La commande ne valide rien, elle crée simplement une branche de production et de développement si elles n'existent pas et ajoute les informations nécessaires au fichier .git/config .

J'ai juste pensé qu'il configure l'environnement et une partie de cela est que vous ne devriez plus vous engager à maîtriser, l'installation du crochet lorsque vous créez une configuration de flux git applique cette nouvelle distinction

@samkellett j'ai compris.

Bonne idée. Peut-être séparé dans un répertoire contrib , comme completion dans git.

Ouais ça pourrait marcher !

Juste un avertissement, il ne sera pas ajouté dans ce dépôt. Ce dépôt n'a pas été mis à jour depuis 2 ans.

haha, ouais..!

@petervanderdoes , merci pour le script. Mais comment puis-je ajouter une restriction de poussée de branche utilisateur ?

J'utilise l'interface de coco.os

Le 2 novembre 2016, à 11h21, Fahad Ahmad [email protected] a écrit :

@petervanderdoes , merci pour le script. Mais comment puis-je ajouter une restriction de poussée de branche utilisateur ?


Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub ou désactivez le fil de discussion.

Souhaitez-vous la clé ssh rsa ?

Le 2 novembre 2016, à 11h21, Fahad Ahmad [email protected] a écrit :

@petervanderdoes , merci pour le script. Mais comment puis-je ajouter une restriction de poussée de branche utilisateur ?


Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub ou désactivez le fil de discussion.

Cette page vous a été utile?
0 / 5 - 0 notes