2011-08-15 19 views
9

Uso un repositorio de git en el trabajo en GitHub. Conozco los comandos básicos para navegar y editar un repositorio, pero no sé cómo configurar uno desde cero.¿Cómo configuro un repositorio privado de git en Ubuntu?

Me gustaría configurar mi propio servidor para el git repo para que mis amigos puedan ayudarme con el juego que estoy desarrollando para Android. ¡Pero no sé cómo!

¿Gitosis sería la mejor opción para esto?

+1

Usar GitHub no es una opción? –

+2

@Esko, GitHub no es una opción porque para hacer el repositorio privado requiere $$$ y estoy buscando una opción gratuita. – KRB

+0

https://bitbucket.org ofrece repositorios git privados gratuitos y mercurial. –

Respuesta

9

En primer lugar, es necesario para crear el repositorio (fácil como git init)
En segundo lugar, usted necesita dar a sus compañeros de acceso al repositorio.

Usted puede usar algunas opciones, que Git maneja:

  • través file:// (acceso directo en LAN)
  • a través de ftp
  • a través del protocolo Git (acceso SSH)

En tercer lugar, administrar el acceso, permisos, etc.

Para esto, la mejor opción es gitolite, mejor que gitosis. Hay una buena guía de instalación en el repositorio. La parte más complicada es configurar el acceso sin contraseña al servidor (pero esto no está realmente relacionado con git). Usando Ubuntu y Github probablemente sepa para qué son las claves ssh públicas.

Gitolite es la mejor opción hasta ahora, pero un poco compleja. Sin embargo, si no desea utilizar gitolita, aún puede iniciar el repositorio y hacer que la máquina sea accesible, que es la solución más simple.

Véase también Setting Up the Server del libro gratuito Pro Git. Hay capítulos sobre gitolite y gitosis también.

10

IMO la manera más simple es usar ssh. Si tiene una máquina que usted y sus amigos pueden hacer, entonces simplemente hace un clon desnudo de su repositorio, lo coloca en el servidor ssh y lo clona desde allí. Lo hago usando mi cuenta dreamhost como servidor.

cd my-repo 
cd .. 
# Make a bare copy of the repo 
git clone --bare my-repo my-repo.git 
# Upload the bare copy to the server 
# -- in this case, I've already created a /repos folder to hold the bare repos 
rsync my-repo.git/ mysshserver:/repos/my-repo.git/ 
# Add the new server repo as a remote to your local repository 
cd my-repo 
git remote add origin mysshserver:/repos/my-repo.git 

Entonces para sus amigos:

git clone mysshserver:/repos/my-repo.git/ 

El único truco es asegurarse de que todas las cuentas de usuario que está utilizando tiene permisos de escritura para la carpeta de recompra (/repos/my-repo.git/* en el servidor).

+0

Un gran consejo, gracias. ¿De verdad quiso decir "git remote add master"? ¿O debería haber sido "origen remoto de git add"? (Soy nuevo en git, por lo que podría confundirse.) – Nelson

+1

Sí, tienes razón, probablemente debería ser origen. Reparado en la respuesta. – avh

Cuestiones relacionadas