Primero instalamos los paquetes para que funcione git y ademas instalamos gitosis que nos permitira trabajar en un entorno de desarrollo multiusuario.
sudo su
cd /usr/src
aptitude install git git-clone
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install
Nota: Si hay error con python se dede:
aptitude install python-setuptools
Creamos una usuario para git, en cuyo home tendremos los proyectos de desarrollo.
adduser --system \
--shell /bin/sh \
--gecos 'git version control' \
--group \
--disabled-password \
--home /home/git \
git
2.Habilitar llaves ssh para el acceso.
El usuario/administrador que desee poder acceder a GIT debe generar una clave pública.
Desde la línea de comandos debe ejecutar:
ssh-keygen -t rsa
Ahora se debe copiar la clave publica contenida en el archivo id_rsa.pub al servidor que contiene GIT.
Ejemplo:
scp $HOME/.ssh/id_rsa.pub usuario@server:/home/usuario/id_rsa.pub
Ahora en el server debemos hacer que gitosis agregue la clave publica del usuario, para darle permiso de acceso.
sudo -H -u git gitosis-init < path_to_file/id_rsa.pub
chmod 755 /home/git/repositories/gitosis-admin/hooks/post-update
3.Configurar GITOSIS desde la maquina del usuario/administrador
El usuario/administrador debe instalar GIT en su maquina.
sudo aptitude install git
El usuario/administrador debe crear una réplica del repositorio GIT que está en el servidor.
mkdir $HOME/proyectos
cd $HOME/proyectos
git clone git@
cd gitosis-admin
3.a. Archivo de configuración de GITOSIS
vim gitosis.conf
##Archivo de configuración de gitosis
[gitosis]
gitweb = yes #Habilitan el acceso web a todos
daemon = yes #los proyectos del repositorio
[group gitosis-admin]
writable = gitosis-admin #Nombre del proyecto, existe un directorio con el mismo nombre
members = user@worksation #Usuarios con acceso, debe existir el
#archivo user@worksation.pub en gitosis-admin/keydir/
[repo gitosis-admin]
gitweb = no #Acceso web al proyecto
daemon = no
## Agregamos los proyectos de desarrollo
[group develop]
writable = proyecto1 #Nombre del proyecto, existe un directorio con el mismo nombre
members = user@worksation #Usuarios con acceso, debe existir el
#archivo user@worksation.pub en gitosis-admin/keydir/
[repo proyecto1]
owner = El Administrador #Propietario del proyecto
description = Test repository #Descripción del proyecto
Siempre despues de editar el archivo gitosis.conf debemos subir los cambios al server.
Cambiar, add, commit, push !!!!
git add .
git commit -a -m "Añadido
git push
4. Comenzando a trabajar con GIT y GITOSIS
El administrador crea un nuevo proyecto, todo se realiza desde el workstation y no en el server.
1. Agregar los cambios en el gitosis.conf
2. git add, commit, push !!!!
Ahora tenemos creado el proyecto, pero no existe el directorio, entonces:
mkdir proyecto1
cd proyecto1
git init
git remote add origin git@YOUR_SERVER_HOSTNAME:proyecto1.git
Creamos un archivo de pruebas
touch test
git add .
git commit -a -m "Creado el directorio del proyecto y un archivo de pruebas"
git push origin master:refs/heads/master
No hay comentarios:
Publicar un comentario