Configurar un servidor git (ssh) usando OS X Server

Me gustaría usar OS X Server para configurar un servidor git al que pueda ingresar desde otras máquinas en mi red.

Me doy cuenta de que Xcode Service tiene una funcionalidad de repositorio incorporada, pero estoy buscando un sistema más universalmente accesible (desde Windows u otra máquina sin Xcode), y mi configuración de Xcode Service se rompió con Yosemite de todos modos. También me doy cuenta de que git ya está instalado en mi máquina y que puedo configurar un servidor ssh por un método como este o este, pero no quiero crear un nuevo usuario ni lidiar con cosas en el nivel de la máquina local como el La primera publicación dice (ya tengo un servidor completo y quiero usar sus recursos), y no quiero instalar gitolite/gitlab/etc.

En resumen, estoy buscando una manera de alojar repositorios git accesibles por ssh en mi máquina usando solo git y OS X Server. Gracias por tu tiempo.

Respuestas (1)

Debe crear un repositorio git "desnudo": un repositorio que nunca puede tener archivos desprotegidos. Todos extraen y empujan desde el servidor como de costumbre, pero nadie puede trabajar en el servidor (a menos que hagan un clon no desnudo).

Si está creando un nuevo repositorio llamado "my_bare_repo.git", puede dejarlo así:

cd /Users/git (or whatever)
git init --bare my_bare_repo.git

Usando tu servidor git

En la máquina cliente, clonarías el repositorio así:

git clone ssh://user@yourmachine.domain.com/Users/git/my_bare_repo.git

Si tiene un repositorio local existente, puede agregar un control remoto originasí:

git remote add origin ssh://user@yourmachine.domain.com/Users/git/my_bare_repo.git

Luego use la aplicación del servidor para configurar usuarios de "solo compartir" que pueden usar los servicios ssh. Puede administrar los usuarios y perfiles de forma local o remota a través de la aplicación web y/o del servidor. El acceso ssh se controla en la entrada Servidor en la parte superior izquierda; luego haga clic en Configuración a la derecha y seleccione SSH.

"git" se usa como nombre de usuario en todo el ejemplo, por lo que ssh://user@debería estar ssh://git@aquí.
Para acceder a git sin contraseña, debe configurar las claves ssh: ssh-keygen<enter> <enter>, luego editar ~git/.ssh/authorized_keysel archivo y agregar el contenido de cada colaborador id_rsa.pub, uno por línea. authorized_keysdebe tener rw-r--r--permisos.