:::: MENU ::::

Git


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 ?