miércoles, 2 de febrero de 2011

Instalar y configurar un Servidor de Versiones con Git , GitWeb y Netbeans



Hola. pues bien aquí con otro Post en esta ocasión mostrare como instala configurar y usa
un servidor de versiones GIT , Este manual muestra como usarlo con GitWeb ;
bueno empecemos .

Que es Git: Pues Git es un control de versiones distribuido, que fué creado inicialmente por
Linus Torvalds para el desarrollo del kernel Linux. Principalmente desarrollado para Linux,
puede ser usado en otros sistemas operativos incluyendo BSD, Solaris y Darwin. Git es
extremadamente rápido en sistemas basados en POSIX como Linux.

Nota: aun que en la parte de arriba no se menciona si se puede poner Git en Windows
existen varios proyectos uno de estos es el siguiente msysgit aqui les dejo la web,
para los interesados.

Que es GitWeb: GitWeb es la interfaz web de Git para poder hacer uso un Diff sin la
necesidad de un software externo y de una revisión fácil desde cualquier lugar


Bueno siguiendo con lo que nos ataña veamos la instalación de el Server, como hacemos de
cuenta que nos encontramos en Ubuntu aun que pues estos paquetes están en todas los repos
de todas las distros . bueno prosigamos .

# sudo apt-get install git-core gitweb

Creamos los directorios necesarios para que nuestro servidor pueda acceder a git y mostrarnos los
proyectos

$ sudo mkdir /var/www/git

$ sudo mkdir /var/cache/git
 
Creamos el archivo de configuración de nuestro servidor para Apache.
 
$ sudo vim  /etc/apache2/conf.d/git

Le agregamos las siguientes lineas, en las que configuramos los
 archivos necesarios para que funcione  GitWeb . pro problemas con 
el editor de este blog les pongo la foto y aquí les agrego para los que no 
quieren escribir el texto de la imagen  


 



Toca mover los archivos hacia la carpeta que creamos  y configuramos 
en el Apache .
 
$ sudo mv /usr/share/gitweb/* /var/www/git

$ sudo mv /usr/lib/cgi-bin/gitweb.cgi /var/www/git 
 
 Luego de realizar lo anterior simplemente sigue seguir la configuración 
del archivo de gitweb.conf .
 
$ sudo vim /etc/gitweb.conf 
 
  Agregamos las siguientes lineas.
 
$projectroot = '/var/cache/git/';
$git_temp = "/tmp";
#$home_link = $my_uri || "/";
$home_text = "indextext.html";
$projects_list = $projectroot;
$stylesheet = "/git/gitweb.css";
$logo = "/git/git-logo.png";
$favicon = "/git/git-favicon.png"; 
 
 Recargamos el servicio apache para que los cambios entren en
 funcionamiento
 
$ sudo service apache2 reload
o
$ sudo /etc/init.d/apache2 reload  
 
Ahora si ya que configuramos nuestro GitWeb y Git proseguimos a 
crear nuestro primer repositorio, estas acciones que seguiremos a 
continuación se deben llevar acabo cada que iniciamos un repositorio.
 
se debería de crear todas las carpetas en /var/cache/git pero no es
 necesario simplemente con crear un link simbólico a esta carpeta es
 mas que suficiente, se recomienda que los directorios  para los proyectos 
lleven la  siguiente forma "nomabredelproyecto.git" aun que sea un 
directorio se le agrega la extensión ".git" para se reconocidos 
 
$ cd /var/cache/git/
$ mkdir project.git
$ cd project.git
$ git init

$ echo "Descripción corta del Proyecto" > .git/description

$ git config --global user.name "Su Nombre"
$ git config --global user.email "nombre@ejemplo.com"

Nota: en algunas ocasiones es necesario convertirse en super
usuario para poder realizar el commit -m  osea hacer un sudo 
su mas la contraseña  
Bueno la utilización del proyecto es sencillo simplemente
debemos copiar los archivos dentro de el directorio antes
creado. luego agregamos los archivos para realizar
un commit, es recomendable siempre subir aun que sea un
archivo en blanco la primera ves para evitar problemas ya
que git tiene problema con la creación de archivos en blanco.



$ git add y el nombre del archivo 
o
$ git add . (esto es para aquellos que no quiere estar agregando
 archivo
 por archivo)
 
 Bueno ahora simplemente hacemos un commit para hacer 
públicos los cambios que realizamos a los archivos 
 
  $ git commit -m "comentario sobre el cambio"
 
Para llevar el proyecto con Netbeans simplemente tenemos que
 dar click en  Archivo  >>  Nuevo proyecto >> el tipo 
de proyecto que llevas ejemplo >>php >>projecto 
desde código existente  si es que ya tenemos creado sino 
simplemente el lugar de guardado del projecto ponemos la 
carpeta  que creamos para Git . eso es todo  ademas debemos 
de instalar un pluguin en netbeans

guia de como instalar el pluguin Git en netbeans

Pagina del Proyecto Git en Netbeans

Pluguin Git para NetBeans 6.9

 descargar pdf 

Guia para usar Git

5 comentarios:

  1. Esta interesante para trabajar un pproyecto en equipo, saludos!

    TecnologiaMundo

    ResponderEliminar
  2. Asi es hermano, demasiado interesante. estamos a la orden cualquier duda que tengas

    ResponderEliminar
  3. hola muchas gracias por este post está muy bueno, estoy siguiendo los pasos pero tengo una duda, si lo instalo en mi PC tendría que estar encendido cuando quiera acceder al repositorio desde otro lugar verdad?? ... y para que esté online todo el tiempo, dónde podría instalar git ??

    gracias

    ResponderEliminar
  4. Lo ideal es que este en un servidor, y en tu maquina cliente, debes instalar el git-core para conectarte al servidor que tambien tendra el git-core y el git-web, si tienes alguna duda puedes consultar la guia

    inmersion-en-git

    http://gitimmersion.com/index.html

    ResponderEliminar
  5. No se si alguien leera esto, estoy siguiendo los paso pero no funciona, he seguido los pasos de unas 20 paginas todos muy similares pero el resultado siempre es el mismo al final nunca me carga la pagina web, la unica diferencia con el tuyo es que mi direcotorio de repositorio es distinto pero no deberia afectar.

    Esto es de hace tiempo y puede haber cambiado el sistema y por eso no funciona.

    cosas raras que he visto, en el fichero /etc/gitweb.conf le dices que las cosas estas en /git/ pero si te metes en la carpeta las cosas estan en /git/static/ no se si afectara he probado a cambiarlo y nada.

    Otra cosa rara es que no existe la carpeta conf.d dentro del apache2 la he tenido que crear y quizas ese sea el motivo por el que no me lo pilla.

    Ha alquien le ha pasado esto y sabe como solucionarlo?

    ResponderEliminar