Skip to content

Comandos Basicos

Miguel Jimenez Lopez edited this page Nov 15, 2016 · 8 revisions

Comandos básicos de git

Configurar identidad

Para todos los repositorios:

git config --global user.name "<vuestro_nombre>"

git config --global user.email "<vuestro_email>"

Si solo lo queréis aplicar al repositorio actual (debéis estar en la misma carpeta o ejecutar cd para cambiaros a ella) quitadle --global.

Crear un repositorio vacío

El comando init crea un repositorio vacío en la máquina local.

git init <nombre_repo>

Clonar un repositorio

El comando clone descarga un repositorio de un servidor a la máquina local.

git clone <url> <nombre_carpeta>

Añadir cambios para commit posteriores

El comando add añade los cambios de los ficheros especificados para ser considerados en el próximo commit.

git add <fichero_o_exp_regular>

Ver el estado del repositorio

Los comandos status y log permiten visualizar el estado de los diferentes ficheros (si están trackeados o no) y los commits del repositorio.

git status

git log

Hacer un commit

Una vez incluidos los ficheros con el comando add se procederá a registrarlos a través de commit.

git commit -m "<mensaje_commit>"

Consejo: Si utilizáis la opción -s añadiréis vuestra firma al final del mensaje.

Cambiar y crear ramas

El comando checkout nos permite cambiar a otra rama de desarrollo y con la opción -b la crea si no existe.

git checkout <nombre_rama>

git checkout -b <nombre_nueva_rama>

Nota: Para crear ramas también se puede usar el comando git branch. Sin embargo, recuerda que la creación de la rama a través de ese comando no realiza un checkout sobre la misma por lo que tendrás que cambiar a ella de forma manual.

Fusionar e integrar cambios en la rama principal

El comando merge se utiliza para fusionar los cambios de dos ramas. Si por ejemplo se quiere introducir los cambios de una rama de desarrollo en la master, se procederá de la siguiente forma.

git checkout master

git merge <nombre_rama_desarrollo>

Si no hay conflictos se realizará la fusión inmediatamente y se podría hacer un push para actualizar el servidor. Por el contrario, si aparecen conflictos habrá que resolverlos o bien de forma manual o por medio de alguna herramienta.

git mergetool

Este comando automáticamente invoca a alguna aplicación que nos pueda asistir en el proceso de resolución de conflictos. Se aconseja instalar algún programa tipo meld para que pueda seleccionarse al ejecutar git mergetool.

Importante: Recordad que normalmente no tendréis acceso a la rama master por lo que deberéis utilizar los Pull-Request en dicho caso.

¿Dónde puedo encontrar más información?

La web git-scm dispone de mucho material de los todos los comandos de git e incluso dan de forma gratuita un libre de 500 páginas donde se describen más detalladamente y si mencionan algunas características interesantes de GitHub. El libro lo podéis encontrar aquí.

También puedes echar un ojo a la sección de [Enlaces interesantes](Enlaces interesantes.md).