3 votes

Empêcher git de pousser vers la branche master

C'est la première fois que je configure un serveur git, donc je ne sais pas vraiment ce que je fais encore. Quoi qu'il en soit, j'ai mis en place un serveur git avec un utilisateur. Ce que je veux, c'est avoir plusieurs développeurs qui peuvent créer leurs propres branches et pousser les branches vers l'origine, mais je ne veux pas qu'ils poussent quoi que ce soit vers la branche master ; un administrateur fusionnera après une revue de code. Est-ce possible ?

9voto

Richard Hansen Points 3530

Si vous ne voulez pas utiliser Gitolite, ajoutez ceci à votre crochet update :

[ "$1" != refs/heads/master ] || {
    echo "ERREUR : vous n'êtes pas autorisé à mettre à jour master" >&2
    exit 1
}

5voto

void256 Points 51

Extension de la réponse de Richard un peu: Utilisez le snippet suivant comme votre "hooks/update" et pousser sur master ne sera autorisé que pour l'utilisateur avec le nom "git-repo-admin":

#!/bin/sh
if [ $USER != "git-repo-admin" ];
then
  if [ "$1" == refs/heads/master ];
  then
    echo "La poussée manuelle vers ce dépôt est restreinte"
    exit 1
  fi
fi

3voto

devicenull Points 5542

Gitolite peut le faire pour vous. Il n'y a pas de moyen pour vous de configurer cela avec la configuration git par défaut.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X