¿Te suena GitHub?, pues si no aun has escuchado dicha palabra, te cuento es una red social para programadores, y que es un servicio web para almacenar codigo fuente mediante Git. ¿Y qué es Git?, Git es un poderoso sistema de control de versiones diseñado por el creador de Linux, Linus Torvals.
En este artículo aprenderemos como crear nuestro propio “GitHub”, orientado a ser utilizado en un servidor dedicado dentro de una red local, mediante Gitolite. Gitolite es el software que nos permitirá administrar los repositorios y usuarios de Git.
Para empezar instalaremos Gitolite en una computadora con Ubuntu GNU/Linux, la cual será el servidor. Escribimos los siguientes comandos:
// generar llaves ssh y copiar
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub /tmp/local.pub
// instalar git y gitolite
sudo apt-get install git gitolite git-daemon-run
// configurar
git config –global user.name «Your Name»
git config –global user.email your@email.com
// crear usuario
sudo adduser \
–system \
–shell /bin/bash \
–gecos ‘git version control’ \
–group \
–disabled-password \
–home /home/git \
git
// entrar a git
sudo su git
echo «PATH=$HOME/bin:$PATH» > ~/.bashrc
gl-setup /tmp/local.pub
// guardar el archivo que nos aparece y salir mediante vim (:wq)
// regresar al usuario por defecto
exit
// clonar git-admin
git clone git@ubuntu:gitolite-admin.git
// crear nuevo repositorio editando “gitolite-admin/conf/gitolite.conf” al cual podrá acceder cualquier usuario (@all)
repo gitolite-admin
RW+ = @all
repo miproyecto
RW+ = @all
// finalmente hacemos “commit”
git add .
git commit -a -m ‘crear nuevo repositorio’
git push origin master
Ya tenemos un servidor Git con Gitolite y Ubuntu.
En el siguiente paso inicializaremos el repositorio mediante Netbeans en una máquina con Windows, para lo cual debemos crear un usuario, para ello utilizaremos puttygen.exe.
Una vez en el programa, generamos una “llave publica” (1), copiamos el texto que aparece y lo guardamos en un archivo con la extension “.pub” (2), este archivo debemos copiarlo en el servidor dentro de “gitolite-admin/keys/” y hacer “commit”. Seguidamente guardamos la llave privada con OpenSSH, en un lugar aparente .
Abrimos Netbeans, nos ubicamos en el proyecto, seleccionamos click-derecho > Versioning > Inicialize Git Repository y seleccionamos la carpeta donde se creara el repositorio.
Ahora hacemos “commit” (click-derecho > Git > Commit) y luego “push” (click-derecho > Git >Remote > Push), para lo cual rellenamos con los datos que aparecen en la figura siguiente:
Seleccionamos siguiente y finalizar; listo el repositorio esta inicializado.
Para agregar otro usuario de otra máquina repetimos los mismos pasos con puttygen y luego clonamos el proyecto (Team > Clonar…), y utilizamos los mismo datos de la figura anterior pero esta vez con la llave privada correspondiente.
Las opciones básicas de Git son “commit”, “pull” y “push”, y que desde Netbeans las ubicamos al hacer click-derecho en el proyecto o en el menu “Team”.
Pull: Recuperar la última versión del proyecto.
Commit: Actualizar versión local.
Push: Enviar nueva versión al servidor.
Como conclusión podemos decir que es muy necesario utilizar un sistema de control de versiones cuando se programa de forma colaborativa, ya que tiene muchas ventajas, por lo que vale la pena aprender Gitolite o en todo caso GitHub.
Escrito por Alain para TECNato
TECNato nace de la idea de crear una comunidad tecnológica, un espacio virtual para compartir conocimientos sobre TIC’s (Tecnologías de la Información y Comunicación).
TECNato es libre y abierto a nuevos miembros que estén dispuestos a compartir sus conocimientos en TIC’s, así que no dudes en escribirnos para mas detalles.
Diseño Web:
Grupo Sistemas
CMS:
WordPress
3 comentarios
29 de marzo del 2014
[…] http://tecnato.com/servidor-git-con-gitolite-y-netbeans/ […]
21 de junio del 2014
Falta especificar:
Ejecutar el siguiente comando con el usuario por defecto (no git)
git clone git@ubuntu:gitolite-admin.git
24 de junio del 2014
Gracias por el aporte Edwin, ya esta corregido.