Para crear un servidor de git, hay que inicializarlo con las opciones – -bare (sólo los archivos de repositorio, no sobre los cuales ejerzo control de versiones) y – -shared (otros se puede conectar)
git init --bare --shared mirepo.git
(que el nombre termine en .git es convencional).
Con éso, siempre y cuando la máquina donde se encuentra sea asequible vía DNS, otros usuarios se pueden conectar a través del daemon de SSH (es el que git usa internamente por default, se puede usar HTTP(S) para repositorios públicos, git:// por eficiencia, e incluso sistemas de archivos, locales o compartidos).
Los permisos para los repositorios serán los permisos que los usuarios tengan para con los archivos.
Hay que decirle al desarrollador que añada el repositorio como remoto
git add remote numerica ssh://usuario@numerica.cl/mirepo.git
y con éso puede empezar a trabajar
git push numerica master
Nótese que no es recomendable que los usuarios tengan acceso a la shell, por lo que en /etc/passwd se les setea la git-shell
git:x:1000:1000::/home/usuario:/usr/bin/git-shell
así si intenta conectarse se le da una cálida bienvenida
fatal: What do you think I am? A shell? Connection to numerica.cl closed.
🙂
¿Cómo usar webgit con password >> ?