Buenas, hasta ahora siempre he trabajado en empresas pequeñas donde la programación en ciertos aspectos era un poco de andar por casa. Sobre todo lo que se refiere al control de versiones. Este se hacía de una manera muy manual, con un excel donde apuntábamos lo que íbamos cambiando y avisándonos unos a otros cuando trabajábamos en un archivo de un proyecto compartido entre varios. Esta forma de trabajar siempre hará que cometamos errores debido a la falta de documentación en el excel o por la necesidad de modificar archivos por tareas de mantenimiento pero que se están modificando para un desarrollo.
Hasta ahora nunca había trabajado con ningún control de versiones, pero llevaba bastante tiempo escuchando hablar de ellos, sobre todo GIT. Así que ahora me he decidido a montarme mi propio servidor personal git.
Git ha sido desarrollado ni más ni menos que por el propio Linus Torvalds, y es utilizado para el nucleo de Linux entre otros muchos proyectos importantes. El desarrollador que va a trabajar en un determinado proyecto descarga una copia a su pc del proyecto, realiza los cambios necesarios y puede enviar después sus cambios. Otro de los aspectos importantes es que podremos crear una rama de nuestro proyecto, por lo que podremos hacer varias variantes de un desarrollo y escoger cual es la que queremos enviar a nuestro repositorio. Hoy veremos como instalarlo y poco a poco iremos viendo los comandos necesarios para trabajar con git.
Empezamos instalando los paquetes necesarios, entre los que tenemos 2 de git: git-core y gitweb (uno es el núcleo y otro la interfaz web), otro para el server SSH y apache. Con el siguiente comando instalaremos todo.
# aptitude install apache2 git-core gitweb openssh-server
Ahora debemos crear un directorio para el repositorio de git /var/cache/git y otro para la interfaz web gitweb.cgi /var/www/git
# mkdir /var/www/git
# [ -d “/var/cache/git” ] || sudo mkdir /var/cache/git
Ahora vamos a crear un archivo de configuración en Apache para nuestro servidor git.
# nano /etc/apache2/conf.d/git
Y escribimos la siguiente configuración dentro de este archivo:
<Directory /var/www/git>
Allow from all
AllowOverride all
Order allow,deny
Options ExecCGI
<Files gitweb.cgi>
SetHandler cgi-script
</Files>
</Directory>
DirectoryIndex gitweb.cgi
SetEnv GITWEB_CONFIG /etc/gitweb.conf
Ahora debemos mover los archivos gitweb.cgi, .css y .png de git a /var/ww/git
# mv -v /usr/share/gitweb/* /var/www/git
# mv -v /usr/lib/cgi-bin/gitweb.cgi /var/www/git
Y debemos hacer algún cambio en el archivo de configuración debido a los archivos movidos en /etc/gitweb.conf, abrimos el archivo con el editor nano y modificamos el archivo así:
# nano /etc/gitweb.conf
$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";
Por último volvemos a recargar la configuración de Apache:
# /etc/init.d/apache2 reload
Ya está montado nuestro control de versiones git y la interfaz web, podemos comprobarlo llamando a la siguiente dirección desde nuestro navegador: http://localhost/cgi
Ahora vamos a crear un proyecto.
# cd /var/cache/git/
# mkdir proyecto.git
# cd proyecto.git
Iniciamos un nuevo repositorio y lo configuramos. Dentro de la carpeta de nuestro proyecto se creará la carpeta .git que es la que contendrá información para git.
# git init
# echo “descripción del proyecto” > .git/description
# git config -global user.name “Tu nombre”
# git config -global user.email “tu@correo.com”
# git commit -a
Si ahora volvemos a llamar la interfaz web veremos que aparece el repositorio que hemos creado. Ahora para marcar un repositorio como exportado se utiliza el archivo git-daemon-export-ok
# touch .git/git-daemon-export-ok
Ahora iniciaremos un servicio que hará publico nuestro repositorio.
# git daemon --base-path=/var/cache/git --detach --syslog --export-all
Ahora nuestro repositorio está en el puerto 9418, y le daremos permisos a un usuario diferente de root.
# adduser usuariogit
# passwd usuariogit
# chown -Rv usuariogit:usuariogit /var/cache/git/proyecto.git
Por último, para descargar el repositorio basta con la siguiente instrucción:
# git clone git://ip_servidor/proyecto.git proyecto
Ahora ya tenemos una copia en nuestro pc del proyecto con el que podremos trabajar para luego enviar los cambios al repositorio. La semana que viene veremos en más detalle como trabajar con git.
The following two tabs change content below.
Fundador y administrador del blog. Gran fan de todo lo relacionado con la tecnología y de GNU/Linux en particular.
-
Curso: Gestión de proyectos Software con Git y GitHub - Feb 1, 2018
-
Curso: Desarrollo en HTML5, CSS y Javascript de Apps Web, Android e IOS (8ª edición) - Ene 31, 2018
-
bq Aquaris M10 Ubuntu Edition, fechas confirmadas - Mar 22, 2016
-
MD5sum: comprueba la integridad de una ISO - Mar 9, 2016
-
Curso: Desarrollo en HTML5, CSS y Javascript de Apps Web, Android e iOS - Mar 6, 2016
Relacionado