entorno de desarrollo git multiusuario

Hasta finales del año 2012, fui uno de esos webdevelopers horribles que duplicaron y cambiaron el nombre de los files en un server en vivo a filename_dev.php antes de editarlos. Cuando se probó una característica, cambié su nombre nuevamente.

Comienzo 2013 Me convertí en fanático de GIT y desde ese momento me prohibí comenzar nuevos proyectos sin GIT.

Mi objective es ejecutar mi propio server privado de git con las siguientes capacidades:

  • Acceso multiusuario
  • La twig principal es un website en funcionamiento.
  • La twig Dev también está activa, pero solo para que los desarrolladores comprueben si el código funciona correctamente.
  • Solo tengo acceso a la twig principal para traer nuevas características de otras twigs en vivo.
  • Los desarrolladores no pueden ver configuraciones de passwords como MySQL.

En mi server CentOS VPS creé un nuevo usuario "git" y le doy una contraseña. Para evitar compartir esa contraseña a múltiples usuarios, configuro una estructura de key pública. Entonces, un nuevo desarrollador me envía su key pública y la agrego a /home/git/.ssh/authorized_keys

Bien, digamos que quiero comenzar un nuevo proyecto con 4 desarrolladores en él. Creé un nuevo file /home/git/project_1.git y agregué todas las keys públicas allí al file autorizado.

¿Cómo puedo evitar que accedan a otro repository como "/home/git/project_2.git"?

Dado que git es solo un usuario en mis vps, no es un directory de apache alojado, entonces, ¿cómo pueden mis desarrolladores verificar el código en el browser? Como http://dev.midominio.com

Cuando el código en http://dev.midominio.com se está ejecutando bien, me gusta presionarlo en vivo a http://midominio.com . Pero solo yo puedo hacer eso, no los desarrolladores

Afortunadamente, estaba en el path correcto esta semana, pero mis libros electrónicos GIT no son tan detallados como para tener una idea de cómo hacer esto.

En primer lugar, debe search en gitolite : permite administrar usuarios y acceder a repositorys.

Con gitolite puede restringir a qué repositorys y twigs tiene acceso el usuario. Para la twig de desarrollo, es posible que desee configurar un script de gancho git post-receive : para que su repository de git haga SSH al server de desarrollo y extraiga el código del repository.