Git es un sistema de control de versiones que nos sirve para tener un histórico de cambios a medida que vamos desarrollando el código de nuestra aplicación.
Instalación
Ir a https://git-scm.com/downloads y descargar el instalador. Ejecutar con todos los valores por defecto.
Configuración
En nuestro equipo tenemos que decirle a Git quiénes somos (nombre y correo electrónico). De este modo firmaremos los commits que hagamos. Lanzamos Git Bash e introducimos los siguientes comandos:
git config --global user.name "[name]" git config --global user.email "[email address]"
Creación de un repositorio local
Hay dos formas de crear un repositorio local: crearlo cono init o clonarlo con clone.
Para crearlo, usaremos:
git init [project-name]
Y para clonarlo:
git clone [url]
Comitear cambios
Después de hacer cambios en nuestros ficheros (esto incluye crear, modificar o eliminar ficheros o directorios) en nuestro workspace, si queremos registrar dichos cambios en nuestro repositorio localmente, necesitamos añadir los cambios al escenario y, después, registrar los cambios.
Para añadir los cambios al escenario:
git add [file]
Para regitrar los cambios en el repositorio local:
git commit -m "[descriptive message]"
Subir cambios
Una vez que los cambios estén registrados en nuestro repositorio local, es posible subirlos a un repositorio remoto (como podría ser el caso de GitHub). Esto se hace con el siguiente comando:
git push
En este punto el resto de usuario podrá actualizarse y conseguir nuestro código.
Sincronizar cambios
Suponiendo que hay algún cambio en el servidor remoto (como, por ejemplo, GitHub), tenemos que hacer dos pasos para actualizarnos:
Primero, hay que conseguir el histórico de commits de la rama en la que nos encontramos. Esto se hace con:
git fetch
Por último, hay que descargarse los cambios que contienen estos commits al repositorio local.
git pull
Crear ramas
Si queremos dejar de trabajar en la rama master, podemos crear otras ramas (que contendrán el mismo código del punto de la rama master donde nos encontremos). Para esto, estando sobre la rama master, lanzamos el comando:
git branch [branch-name]
Y después nos situamos en dicha rama creada con el comando:
git checkout [branch-name]
Hacer merge entre ramas
Es posible que varios compañeros estén trabajando simultáneamente en varias ramas. Cuando llegue el momento de agrupar todo el trabajo en una misma rama será necesario hacer lo que se llama un “merge entre ramas”. Para ello, nos situamos en la rama donde queramos recibir todos los commits de la otra rama, y lanzamos el comando:
git merge [branch]
Donde “branch” es otra la rama cuyos commits queremos conseguir.
Comparar los cambios antes de subir código
Si no estamos seguro de los cambios que existen entre nuestro workspace y nuestro repositorio local, podemos listar dichos posibles cambios a comitear con el siguiente comando:
git status
Revisar el histórico de commits de una rama
Después de situarnos en la rama en cuestión, para revisar los commits ejecutados, lanzamos:
git log
So, what do you think ?