C'est facile à faire avec Git avec un pre-receive
crochet. Bien sûr, cela nécessite que vous êtes réellement en mesure d'installer des crochets, et pour des raisons évidentes, GitHub ne vous permet pas de télécharger des fichiers exécutables arbitraires pour fonctionner sur leurs serveurs :-)
En général, le flux de travail avec Git ou vraiment tout le contrôle de version distribué système, c'est que vous ne laissez pas d'autres personnes pour le pousser à votre référentiel. Au lieu de cela, tirez-vous de leur. Cela nécessite un niveau beaucoup plus faible de la confiance. Donc, ce serait la solution numéro 1: ne pas les laisser pousser, demandez-leur de fourche, puis tirer d'eux. De cette façon, vous pouvez contrôler ce qui se passe dans votre référentiel.
Une autre solution serait de créer votre propre mise en scène espace de stockage sur un serveur vous est propre, où vous pouvez installer votre propre Git crochets. Vous pouvez configurer un pre-receive
crochet qui refuse de pousser si ce n'est pas un fast-forward et post-receive
crochet qui transfère automatiquement toutes les pousse à GitHub. Bien sûr, cela signifie que vous perdez de nombreux avantages de l'utilisation de GitHub en premier lieu.
Une troisième solution de contournement, vous pouvez utiliser plusieurs référentiels. C'est une combinaison de deux autres approches: avoir un espace de stockage pour vos collaborateurs pouvez pousser et un autre que vous avez accès à la, que vous tirez à partir du premier dépôt.
En tout cas, vous devez déposer une demande de fonctionnalité avec GitHub (surtout si vous êtes un client payant!) depuis ce qui semble être une caractéristique utile.