2. 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
3. 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
4. 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.
5. 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:
6. 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*
7. 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.
8. 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