Tutorial: Git para controlar versiones

tutorial control versiones git

Git (pronunciado guit) es un software de control de versiones que últimamente toma bastante importancia debido a que se usa en bastantes empresas. Podría decirse que es el sustituto natural de CVS y de SVN ya que en algunos casos les supera. Si quieres aprender lo básico para manejarte con git, este es tu tutorial

Git VS otros controles de versiones

La mayoría de los sistemas de control de versiones (CVS por ejemplo) se basan en guardar un listado de los archivos que se han tocado y los cambios que se han realizado. Git no trabaja de esta forma, cuando se hace un commit Git toma una instantánea de cómo está el proyecto en un determinado momento. Teóricamente esto ocuparía mucho espacio en disco, pero lo que hace para salvaguardar espacio es en los ficheros que no han cambiado simplemente enlazar al archivo idéntico que previamente se habia guardado en la versión anterior. De esta forma los archivos que no cambian no ocupan espacio. En otras palabras, con Git tendremos una especie de mini sistema de archivos.

En otros controles de versiones mucha de la información se guarda "en remoto", en Git dispondremos de la información en local evitando latencias de acceso a otros sistemas en remoto. Por ejemplo, si queremos sacar el histórico de cambios de un proyecto, git no necesitará consultarlo en ningún sitio externo ya que lo tendrá guardado localmente, evitándose acceder al servidor a consultarlo.

Git guarda todo con integridad gracias a SHA-1. De hecho Git guarda en su base de datos todo no por nombre de archivo si no por el valor hash en SHA-1 del contenido de los archivos.

Tutorial Git: Tres esta dos de los ficheros:

En Git los archivos pueden estar en 3 estados:

  1. Commited: El archivo ha sido guardado en la base de datos local de Git
  2. Modifier: El archivo ha cambiado pero no se ha guardado en la base de datos local de git (no ha sido commited)
  3. Staged: El archivo ha sido marcado como tocado y será commited en el siguiente snapshot

Tutorial Git: Buenas prácticas en el uso de Git

Git puede usarse de muchas formas pero se recomienda hacerlo usando 4 tipos de ramas:

  1. Master: Es la rama principal, contiene el repositorio que está publicado en producción por tanto tiene que estar estable y funcionando siempre
  2. Development: Esta rama se saca de la rama Master. Esta rama se usa para integrar las nuevas funcionalidades (rama Features). Es decir, se desarrollan las funcionalidades, se integran en la rama Develpment y se corrigen los errores. Después de esto se integrará la rama Development con la rama Master
  3. Features: En estas ramas se van desarrollando las nuevas funcionalidades. Estas ramas se sacan de Development. Una vez que las funcionalidades (features) estén terminadas se fusionarán con la rama Develpoment y después de cumplirse las condiciones del punto 2 se integrarán en la rama Master
  4. HotFix: A veces surgen errores en producción que hay que corregir urgentemente, para ello se usan las ramas HotFix sacadas de la rama Master directamente. Cuando se corrige el error se hace el merge con la Master. Después se hace el merge con la rama Development para que ésta no quede desactualizada

 

Tutorial Git: Cómo instalar y usar git en un linux

sudo apt-get install git

Ahora debemos configurar git diciéndole quienes somos:

// Le decimos nuestro email
git config --global user.email "you@example.com"

// Le decimos nuestro nombre
git config --global user.name "Your Name"

Una vez instalado git, nos deberemos crear una carpeta donde tendremos nuestros proyectos git. Nos colocamoPor ejemplo:s en esa carpeta e inicializamos el repositorio git dentro.

mkdir /home/USUARIO/git-repo
cd /home/USUARIO/git-repo
git init

Con ello nos creará una estructura de directorios dentro .git (oculto) con el esqueleto que necesita git. Ten en cuenta que todavia nada en este directorio está "trackeado". Vamos a crear un archivo "falso" y lo vamos a subir a git:

touch prueba_1.php
touch prueba_2.php
touch prueba_3.php

// Marcamos los archivos para subirse
git add *.php

// Subimos el archivo al repositorio git
git commit -m 'Subida inicial'

Con esto ya tendremos nuestro propio repositorio con algunos archivos.

Tutorial git: "Bajar" un repositorio Git para contribuir en él

Normalmente lo que queremos hacer en Git es usar un repositorio externo (de una url por ejemplo) para contribuir en él. Para ello se usa el comando clone de Git. Hay que tener en cuenta que el comando clone de Git lo que hace es bajarse el repositorio entero ya que como dijimos anteriormente todo se queda en Local, es decir, tendremos en nuestro local el histórico de cambios del repositorio. La sintaxis es git clone URL por ejemplo:

git clone https://github.com/nicolasgramlich/AndEngine

La url que recibe como parámetro git clone puede ser https:// o git:// o user@user:path/to/repo.git

Tutorial Git: Comandos de Git

Además de los comandos antes mencionados (git init, git clone) hay otros muy útiles:

// Este comando nos indica el estado del directorio donde lo ejecutemos
git status

// Si acabamos de hacer un clone, lo normal es que devuelva:
On branch master
nothing to commit, working directory clean

https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repos...

Continuara...

Votos totales: 370