Git es un sistema de control de versiones de código abierto. Estos sistemas registran los cambios realizados sobre uno o varios archivos a lo largo del tiempo de manera que se puedan revisar o recuperar esas versiones más antiguas en cualquier momento.
En principio cualquier archivo que tengas en el ordenador (imágenes, archivos de texto…) es susceptible de ser puesto bajo un sistema de control de versiones, si bien te recomendamos no guardar en Git archivos grandes puesto que el cálculo de firmas md5 de éstos ralentizaría el uso del programa.
Podemos trabajar con git de dos formas diferentes:
1. Trabajar en local en nuestro ordenador con un repositorio que creemos en él.
2. Clonar un repositorio externo para traernos este a nuestro ordenador y empezar a trabajar con ese proyecto.
Nos vamos a centrar en el primer caso para ver cómo se empezaría a trabajar desde cero con un nuevo proyecto y conocer el funcionamiento básico de Git. Nota, no obstante, que lo habitual es hacer una mezcla de los dos casos de uso anteriores, p.ej.: clonar un repositorio remoto, trabajar en él en local y, posteriormente, enviar los cambios al repositorio remoto.
Paso 1) Crear una carpeta para el proyecto
El primer paso consiste en crear una carpeta para el proyecto que queremos crear y añadir los archivos que queremos incluir en el proyecto.
A modo de ejemplo vamos a crear una carpeta llamada “proyecto” y un archivo llamado prueba.txt.
Paso 2) Inicializar el repositorio
Antes de poder empezar a usar Git es necesario “inicializar” el repositorio. Este paso se realizará una sola vez pero es obligatorio para poder empezar a usar Git.
Para inicializar el repositorio accedemos por terminal y nos situamos en la carpeta que creamos para el proyecto y lanzamos el siguiente comando:
git init
Si todo ha ido correcto deberías ver una línea como la siguiente cambiando la ruta por la que corresponda en tu caso:
Tras realizar esto ya tenemos creado e inicializado un repositorio en la ruta escogida. En nuestro ejemplo la carpeta escogida sería proyecto.
La información del repositorio se va a guardar en la carpeta .git por lo que es importante que esta no se borre.
Paso3) Añadir archivos al repositorio
El siguiente paso será añadir los archivos y directorios del proyecto (si los tenemos) al repositorio ya que aunque estén los archivos en esa carpeta, si no lo especificamos, Git no los va a monitorizar.
Añadir archivos a un repositorio se conoce con el nombre de “commit”. En Git esto se hace en dos pasos:
-
Añadir los ficheros a la zona conocida como “Staging Area” o “Zona de Index” que es donde Git va a guardar los ficheros de los que luego se hará commit.
-
Enviar los archivos de la “Staging Area” al repositorio.
Empezamos con el primer paso. Este paso podemos hacerlo de dos maneras dependiendo si tenemos varios archivos que queremos añadir al repositorio o bien si queremos subirlos de uno en uno:
-Lanzamos el siguiente comando si queremos que se añada todo :
git add .
-En caso de que queramos enviar sólo un archivo:
git add nombre-del-fichero
Una vez tenemos esto listo podemos comprobar en qué estado está nuestro repositorio con el comando git status
. En este ejemplo que estamos siguiendo deberíamos ver la siguiente información:
Ahora ya podríamos continuar con la segunda parte y hacer el commit propiamente dicho. Esto se hace con el siguiente comando:
git commit -m "información del commit"
Nota: Con el parámetro -m incluimos el mensaje que queremos que se asocie a ese commit. Generalmente este campo se utiliza para describir los cambios que introduce ese commit.
Lanzamos el comando y deberíamos obtener un mensaje como el siguiente que nos indica los cambios que se han añadido a nuestro repositorio:
Paso 4) Repositorios remotos
Ya tenemos listo el repositorio en local pero puede resultar muy interesante subir este a un repositorio remoto para poder trabajar con él desde varios ordenadores por ejemplo o colaborar varias personas en el mismo.
Para ello lo primero que vamos a hacer es configurar el repositorio remoto como “origin” o repositorio remoto del repositorio local.
El nombre de “origin” puede cambiarse por el que quieras, pero es el que usa git por defecto y, en muchas ocasiones, se usa este nombre como regla para referenciar un repositorio remoto.
En el comando que mostramos a continuación tendrías que sustituir los siguientes datos por los correspondientes en cada caso:
- usuario: Usuario con permiso para conectarse
- host: IP o URL del proyecto (esto permite utilizar URLs de proyectos web —como github—) o repositorios que estén alojados en otra máquina usando los protocolos FTP, SSH o SFTP.
- ruta_al_proyecto_remoto: Ruta en el servidor remoto del proyecto
git remote add origin usuario@hosts:/ruta_al_proyecto_remoto
Paso 5) Primer push
Si no se ha producido ningún problema ya tendremos conectados ambos repositorios pero lo que tenemos ya en local todavía no está en el repositorio remoto. Para finalizar el proceso tendremos que hacer PUSH del contenido local al remoto. Usaremos para este fin el siguiente comando:
git push origin master
NOTA: La sintaxis de este archivo sería: git push [nombre-remoto][nombre-rama] . Tal como lo configuramos lo que hacemos es enviar la rama maestra (master) al servidor origen (origin).
Otros datos interesantes
Hacer pull del código remoto
Si estamos trabajando varias personas en un mismo repositorio remoto es frecuente que se produzcan cambios en este que no tengamos en local. Para actualizar nuestro repositorio local y bajarnos los nuevos cambios tenemos que hacer PULL de este código. Para hacer esto usamos el siguiente comando:
git pull origin master
Clonar un repositorio existente
Si lo que queremos es tener una copia de un repositorio remoto existente en nuestro equipo, por ejemplo un proyecto con el que queramos contribuir tendremos que usar el comando git clone. La estructura de este comando sería:
git clone [url]