GIT Manual de uso
GIT Dinahosting 2 Contenidos Sobre Git...3 Software...3 Cómo conectarse?...3 Volcar un repositorio remoto...4 Manejar el repositorio...5 Trabajando con ramificaciones...6 Fusionando ramificaciones...6
GIT Dinahosting 3 Hola! Esta es la guía con la que pretendemos mostrarte como puedes utilizar Git en tu plan de hosting. En las siguientes páginas vamos a explicarte cómo configurar Git ubicado en un servidor y sacarle el mejor partido. Recuerda que tienes a tu disposición el teléfono gratuito 900 854 000, el email soporte@dinahosting.com para cualquier duda que te surja. Si prefieres abrir un chat, puedes hacerlo desde dinahosting.com. Queremos agradecerte una vez más tu confianza en dinahosting e invitarte a que nos hagas llegar todos los comentarios e ideas que estimes oportuno. Un saludo! El Equipo Dinahosting
GIT Dinahosting 4 Lo básico sobre Git Qué es Git? Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones. Git ha demostrado su eficiencia en proyectos de alta envergadura y con un número de archivos de código fuente considerablemente alto. Ofrece una alta potencia y flexibilidad. Por esto y sobre todo, por la rapidez de ejecución, tanto a nivel de órdenes como de sincronización de archivos, se ha convertido en un sistema de control de versiones con funcionalidad plena y cada vez más utilizado en proyectos de alta relevancia, como por ejemplo el grupo de programación del kernel de Linux. Ventajas de Git Existen grandes ventajas como son independencia ya que se puede hacer el trabajo incluso si no tienes conexión a red y luego pasarlo a algún otro lugar sin complicarse la vida y mejoras en la cooperación entre quien desarrolla aplicaciones ya que se puede trabajar en ciertas partes del proyecto sin tener que subir todo a un servidor. También muestra una mejora notable en la rapidez de desarrollo ya que no solo aumenta la facilidad de trabajo dentro del equipo de desarrollo sino que las tareas a realizar son mas rápidas por la forma de trabajo distribuida. Software Para hacer uso de todas las posibilidades que nos ofrece Git, el primer paso es conectarnos a nuestro hosting mediante el protocolo SSH. Esto se puede hacer de varias maneras y desde Linux, Windows o Mac, o desde cualquier sistema que permita la conexión mediante este protocolo. Desde Windows podemos utilizar software como Putty, uno de los mejores clientes SSH para este sistema operativo, o bien aplicaciones como TortoiseGit o SmartGit, que nos facilitan el manejo de los repositorios mediante una interfaz gráfica de usuario o GUI. Desde Mac podemos utilizar el propio terminal del sistema en modo comando o también aplicaciones gráficas como Tower, una de las más extendidas para este propósito.
GIT Dinahosting 5 Cómo conectarse? De ahora en adelante vamos a utilizar Putty para manejar Git desde Windows, pero los pasos son similares para otros sistemas operativos utilizando SSH en modo comando. El primer paso es abrir Putty y conectarse a nuestro hosting utilizando nuestro nombre de dominio, a continuación nos pedirá nuestro ID de SSH y la contraseña (son los mismos datos que los de acceso por FTP). Ahora ya estamos dentro de nuestro hosting y ya está todo listo para empezar a hacer uso de Git. Podemos ver una lista de todos los comandos disponibles escribiendo: # git Nos mostrará esto:
GIT Dinahosting 6 Para ver la ayuda o descripción de cualquiera de los comandos de Git simplemente tendremos que escribir Git y el comando con la opción --help, por ejemplo: # git add --help Volcar un repositorio remoto Para conectarse a un repositorio remoto primero tenemos que clonarlo a nuestro hosting. Supongamos que tenemos el repositorio en el URL http://mirepositorio.com/git/repo01.git. En primer lugar podemos crear la carpeta donde queramos descargarlo y después acceder a ella: # mkdir git # cd git A continuación clonamos el repositorio. Si es público lo haremos así: # git clone git://mirepositorio.com/git/repo01.git Si es privado, es decir, que tenemos una contraseña, lo haremos así: # git clone git://usuario@mirepositorio.com/git/repo01.git Esto crea una carpeta llamada repo01 con todo el árbol de directorios y archivos del repositorio, por lo que ya podremos empezar a trabajar con él. Manejar el repositorio Ahora ya podemos añadir archivos, eliminar archivos, subir ficheros al repositorio o descargarlos y todas las operaciones que necesitemos. Primero nos posicionamos dentro del directorio del repositorio: # cd repo01 Para añadir ficheros tenemos que utilizar el comando add, ejemplos: # git add fichero # git add directorio/fichero # git add directorio/fichero0* Para borrar ficheros, rm : # git rm fichero # git rm directorio/fichero # git rm directorio/fichero0*
GIT Dinahosting 7 Una vez añadidos, tenemos que propagar los cambios en local, Git no lo hace automáticamente, y así podemos añadir todos los archivos que queramos. Cuando hayamos terminado propagamos todos los cambios realizados hasta el momento, esto lo hacemos con el comando commit, ejemplo: # git commit -m Primera modificación El parámetro -m especifica una descripción simple o comentario de la operación. Al hacer un commit, Git utilizará la información de persona usuaria para guardar en la transacción. Esta información normalmente se basa en nuestro nombre de persona usuaria del sistema y de equipo, si queremos personalizar estos datos podemos hacerlo así: # git config --global user.name "Usuario" # git config --global user.email usuario@midominio.com Ahora que ya tenemos los cambios propagados podemos sincronizarlo con nuestro repositorio, esto lo hacemos mediante el comando push, ejemplo: # git push origin master Nos pedirá la contraseña y listo, ya tendremos nuestro repositorio remoto actualizado. Las opciones origin y master son necesarias la primera vez que subimos al repositorio, le estamos indicando que sincronice los datos con la rama master o rama principal del proyecto. Si queremos hacer lo contrario es decir, bajar cambios desde el repositorio remoto a nuestro hosting tenemos que utilizar el comando pull, ejemplo: # git pull En cualquier momento podemos ver el estado del repositorio o si hay cambios pendientes por hacer commit mediante el comando status, ejemplo: # git status Trabajando con ramificaciones Hasta ahora todos los cambios los hemos realizado en la rama principal o master, es decir un único hilo de trabajo. Pero puede ser muy útil utilizar varias ramas paralelas a la principal, por ejemplo para trabajar con una versión específica de nuestro proyecto o añadir alguna funcionalidad nueva a a nuestra estructura original.
GIT Dinahosting 8 Para crear una nuevo rama o branch, en el lenguaje de Git, simplemente tendríamos que escribir: # git branch rama-nueva Una vez creada tenemos que posicionarnos dentro de ella: # git checkout rama-nueva Ahora ya podemos crear archivos, modificarlos, etc todo ello dentro del entorno de la rama secundaria. Una vez hechos los cambios haremos un commit tal y como hacíamos anteriormente: # git commit -m Cambios en rama [rama-nueva] Y si ya hemos terminado podremos volver a nuestro hilo principal de trabajo master mediante: # git branch master Fusionando ramificaciones Si hemos creado una rama nueva en base a una modificación de un archivo para el que hemos solucionado un problema de código, y queremos que esa modificación sea definitiva y que figure en la rama principal del proyecto master, podemos fusionar esa rama con la principal. Para ello usamos el comando merge. Primero nos posicionamos en la rama principal: # git checkout master A continuación fusionamos la rama secundaria con la principal: # git merge rama-nueva Una vez hecho esto si todo esta correcto, ya podemos borrar la rama secundaria ya que no será necesaria en el futuro: # git branch -d rama-nueva