Je voudrais restreindre l'accès en écriture pour la branche maître à seulement plusieurs développeurs, tout en permettant aux autres de tout extraire et de pousser vers d'autres branches non-maîtres. L'idée est qu'un développeur pousserait vers une autre branche et que si le code passe en revue, le réviseur le fusionnerait dans la branche principale. Je suis assez sûr que cela peut être facilement fait avec un commit commit git, mais je ne connais pas python et cela semble être un problème si générique, que quelqu'un doit l'avoir déjà écrit. Savez-vous où je pourrais trouver un tel script? Ou si vous en avez un qui traîne, s'il vous plaît le coller ici, pour les gens paresseux comme moi.Comment écrire un crochet git pour restreindre l'écriture à la branche?
3
A
Répondre
4
Je pense qu'il pourrait être possible d'utiliser un tel script mais ce n'est pas le bon endroit pour la gestion des droits, il devrait plutôt être fait du côté serveur git. Par exemple, dans gitosis, vous faites cette configuration dans le dépôt gitosis-admin dans le fichier gitosis.conf.
La sécurité gérée par un crochet peut être facilement brisée, seul le serveur peut garder une trace de ce genre de choses, veuillez consulter la documentation de votre serveur pour plus de détails sur la façon de restreindre l'accès.
3
Pour votre exigence: "si le code réussit l'examen, le réviseur le fusionne dans la branche principale."
Vous pouvez essayer Gerrit Code Review: http://code.google.com/p/gerrit/
Questions connexes
- 1. Git pré-réception crochet
- 2. crochet git pré-poussé?
- 3. Écrire un crochet git pour modifier automatiquement le code pendant les validations locales
- 4. git: comment déplacer certains commits à la nouvelle branche
- 5. Comment refaçonner correctement la branche d'un git dans un autre?
- 6. Expérience de branche Git
- 7. Comment dire à Git de toujours tirer la branche principale?
- 8. git-locking branche principale pour certains utilisateurs?
- 9. git - mise à jour à la nouvelle branche des rails
- 10. Git post-recevoir un crochet pour mettre à jour plusieurs serveurs
- 11. Connexion de la branche git à la fourche GitHub
- 12. Git exclure un commit dans une branche
- 13. commande pour expliquer git supprimer branche distante
- 14. Git Pousser une branche à heroku
- 15. git: quelle branche git distante avait la dernière validation?
- 16. git-svn importer uniquement la branche
- 17. Git: renommer un répertoire dans une branche
- 18. Comment supprimer une branche distante dans Git?
- 19. Git tire dans la mauvaise branche
- 20. git tirer la branche actuellement suivie
- 21. Export Git d'une seule branche
- 22. comment afficher/modifier une branche distante git
- 23. Git pré-recevoir le crochet pour lancer PHP CodeSniffer
- 24. Git post-réception crochet ne fonctionne pas
- 25. git push échoue dans la nouvelle branche
- 26. heroku utilisant la branche git est déroutant!
- 27. Afficher uniquement la branche actuelle dans Git
- 28. Git: Tirer d'une autre branche
- 29. Comment importer une branche SVN spécifique vers un dépôt git?
- 30. Fusionner la branche 'user' dans git log
Correct. Un hook de pré-commit ne sert à rien - le dépôt de chaque développeur est le leur. Vous ne pouvez pas leur faire faire ce qu'ils ne veulent pas. Le serveur central peut cependant être à votre disposition pour appliquer la stratégie. Et oui, le logiciel de gestion de serveur git (gitose, gitolite) peut le faire pour vous. – Cascabel
Bien sûr, je voulais dire "commit hook" sur le serveur du référentiel central, pas sur les machines locales. Mais la gitolite semble être ce que je cherchais, alors merci. Pour les futurs visiteurs: http://progit.org/book/ch4-8.html –