Administrar git – Permiso de extracción de twig maestra

¿Hay alguna manera fácil de configurar nuestro repository git de una manera que solo permita que un grupo pnetworkingefinido de usuarios ingrese a la twig maestra en el origen?

He encontrado ciertas herramientas que requieren pago para esa tarea, pero me preguntaba si esto era compatible con git de forma pnetworkingeterminada, sin la necesidad de una herramienta de server git.

Cualquier comentario o dirección sería bienvenido.

Una solución simple sería escribir un gancho personalizado para escuchar cada actualización y tener una solución de authentication personalizada.

Dentro del file .git hay un directory hook, que contiene implementaciones de ejemplo para hooks personalizados. Eliminar el sufijo .sample simplemente haría que ese enlace entre en funcionamiento (los ejemplos de enlace tienen loggings de callback por defecto).

El enganche de actualización se activará después de cada inserción, salir de 1 simplemente no permitiría que se aplique ese empuje. Algo en las líneas de:

refname="$1" oldrev="$2" newrev="$3" author="$(git log $newrev -1)" # user names on the white list whitelist=( 'Admin1' 'Admin2' 'Admin3' ) # branches to be controlled master="refs/heads/master" test="refs/heads/test" if [[ "$refname" == "$master" || "$refname" == "$test" ]] then for name in "${whitelist[@]}" do echo $name if [[ "$author" == *"$name"* ]] then exit 0 fi done else exit 0 fi echo "Master or test branch is not within your reach ! Contact your supervisor ! " exit 1 

Le recomiendo encarecidamente que escriba su propia secuencia de commands de acuerdo con su política de authentication. La secuencia de commands anterior es solo para dar una idea y es fácilmente pirateable.

Git no tiene ningún sistema de permissions propio. Deberá usar algo más para administrarlos como GitLab o gitolita . También puedes build tu propio usando git hooks.