En el siguiente paso a paso les vamos a dar unos tips y cual seria la manera más simple de instalar nuestro controlador de versiones Git bajo la plataforma de CentOS que tengamos en nuestro Cloud VPS o bien en cualquier Servidor Dedicado.
1. Instalación de Git
Los siguientes comandos nos permitirán, primero actualizar nuestros paquetes con el repositorio actual y luego instalar el paquete necesario para administrar nuestro servidor Git.
Comandos a ejecutar.
yum update yum install git-core
2. Configuración de nuestros repositorios Git
– Primero debemos crear un usuario llamado git este usuario nos va a permitir más adelante conectarnos al servidor desde nuestras maquinas locales vía SSH para subir nuestro código local al repositorio en nuestro servidor. Al ejecutar el comando que tenemos aquí abajo se va a crear una carpeta en /home con nombre git ese viene siendo la ruta por defecto a donde buscara el servidor cuando este usuario se conecte remotamente, esa misma ruta la vamos a utilizar para almacenas nuestros repositorios /home/git/
Comandos a ejecutar.
adduser git
3. Creamos nuestro primer repositorio Git
– Para crear nuestro primer repositorio nos ubicamos en nuestra carpeta /home/git/ y dentro de ella creamos una carpeta con el nombre de nuestro proyecto y que termine en .git por ejemplo infranetworking.git nos quedaría la carpeta creada /home/git/infranetworking.git/ luego de crearla debemos iniciar el demonio del git dentro de la carpeta con el comando git –bare init y colocar el dueño y grupo de la carpeta sea el usuario git, con esto ya tendremos nuestro primer repositorio listo para empezar a versionar nuestro código.
Comandos a ejecutar.
cd /home/git mkdir infranetworking.git chown -r git.git infranetworking.git cd infranetworking.git git --bare init
4. Listado de Comandos Basicos para utilizar Git
– git –bare init : inicia el demonio en un repositorio git
– git clone [ruta del repositorio] : nos permite clonar un repositorio en la ruta en donde estamos actualmente, no creara una carpeta con el nombre del repositorio sin la extensión .git
– git add –all : nos permite preparar todos los cambios que hemos hecho en nuestro local para realizar un commit posterior.
– git commit -m «Mensaje» : nos permite crear con todos los cambios que hicimos una versión de nuestro repositorio entra las comillas colocaremos el mensaje correspondiente a nuestro cambio realizado.
– git pull : nos permite realizar una actualización local de nuestros archivo con los que se encuentran en nuestro repositorio. En otras palabras es traernos los últimos cambios de nuestro repositorio.
– git push [origin] [branch] : nos permite enviar nuestros cambios a nuestro repositorio, este comando espera dos parámetros, el primero es nuestro repositorio origen, por defecto el repositorio origen es origin y la otra variables es nuestra branch o rama que por defecto es master.
– git config –global user.email «tu@correo.com» : nos permite configurar el correo de nuestro usuario para que quede registrado en cada cambio que hagamos.
– git config –global user.name «Tu nombre» : nos permite configurar el nombre de nuestro usuario para que quede registrado en cada cambio que hagamos.
5. Clonar nuestro Repositorio y realizar un cambio de forma local en el servidor.
– Por ahora solo tenemos acceso local a nuestros repositoriso, así que solo vamos a poder clonar repositorios dentro de nuestro servidor. Para clonar el repositorio en /var/www/ que creamos en el paso 3 hacemos lo siguiente.
Comandos a ejecutar.
cd /var/www/
Vamos a clonar ahora nuestro repositorio, al estar vació nuestro repositorio nos va a decir que se clono con éxito pero que el repositorio esta vació. No hay ningún problema con eso.
git clone /home/git/infranetworking.git
Verificamos que creo bien el repositorio
cd infranetworking ls -la
Nos debe mostrar que no tenemos nada solo la carpeta de configuración de la carpeta.
Ahora vamos a crear nuestro primer archivo
touch README
Lo podemos editar si queremos sino continuamos.
Ahora agregamos nuestro cambio para luego hacer el commit.
git add --all git commit -m "Primera Versión de nuestro repositorio"
Ya con esto tenemos el cambio solo en nuestro repositorio clonado, ahora debemos enviarlo al repositorio origen.
git push origin master
Con este ultimo comando se envió el cambio al repositorio origen.
6. Configurar Git para que acepte cambios desde maquinas remotas
En esta parte vamos a explicar como dar acceso a maquinas vía SSH para poder enviar cambios a nuestros repositorios, la manera de dar acceso SSH con el usuario git es mediante llaves publicas. Debemos tener claro que tenemos dos maquinas para realizar este ejercicio El Servidor y El Cliente vamos a ver que demos hacer de ambos lados para que todo funcione.
– En el Cliente
Debemos saber cual es nuestra clave publica para poder colocarle en El Servidor para que nos pueda dar acceso
Comandos a ejecutar.
Con este generamos nuestra llave publica, cuando lo ejecutemos a todo los que nos pida solo basta con darle la tecla enter.
ssh-keygen -t rsa cd ~/.ssh
Ahora copiamos nuestra clave privada con el resultado que nos de el siguiente comando.
cat id_rsa.pub
Ahora solo debemos hacer la configuración en el servidor.
– En el Servidor
Debemos crear la carpeta .ssh en nuestra carpeta del usuario git en este caso cd /home/git/ luego debemos crear un archivo llamado authorized_keys si existe la carpeta y el archivo dejarlo como están. Luego cambiar los permisos del archivo para que pueda tomar las conexiones ssh entrates.
Comandos a ejecutar.
cd /home/git/
Si existe la carpeta .ssh
cd .ssh
Sino exite
mkdir .ssh
Sino existe el archivo authorized_keys
touch authorized_keys
Cambiamos los permisos del archivo
chmod og-rw authorized_keys chmod a-x authorized_keys
Cambiamos los permisos de la carpeta
cd /home/git chmod 700 .ssh
Ahora pegamos la llave publica de nuestro cliente en el archivo authorized_keys
nano -w /home/git/.ssh/authorized_keys
Pegamos la llave que nos envio el cliente, para que esto funcione debemos estar pendiente que la llave quede en una sola linea en el archivo authorized_keys, guardamos y salimos.
Ya con eso El Cliente ya tiene acceso SSH a El Servidor por llaves publicas y sin claves.
7. Clonar nuestro Repositorio y realizar un cambio de forma Remota en el servidor.
– Ya que tenemos acceso remoto a nuestros repositoriso, así que vamos a poder clonar repositorios fuera de nuestro servidor. Para clonar el repositorio en /var/www/ que creamos en el paso 3 hacemos lo siguiente.
Comandos a ejecutar.
cd /var/www/
Vamos a clonar ahora nuestro repositorio, al estar vació nuestro repositorio nos va a decir que se clono con éxito pero que el repositorio esta vació. No hay ningún problema con eso.
git clone ssh://git@IP:PORT/home/git/infranetworking.git
Verificamos que creo bien el repositorio
cd infranetworking ls -la
Nos debe mostrar que no tenemos nada solo la carpeta de configuración de la carpeta.
Ahora vamos a crear nuestro primer archivo
touch README
Lo podemos editar si queremos sino continuamos.
Ahora agregamos nuestro cambio para luego hacer el commit.
git add --all git commit -m "Primera Versión de nuestro repositorio"
Ya con esto tenemos el cambio solo en nuestro repositorio clonado, ahora debemos enviarlo al repositorio origen.
git push origin master
Con este ultimo comando se envió el cambio al repositorio origen y remoto.
Esperamos comentarios en este tutorial, para seguir con la publicación de algunos temas que nos recomienden o soliciten.