Comandos básicos de Git

Publicado el 24 junio 2019 por Daniel Rodríguez @analyticslane

Git es el sistema de control de versiones distribuido (DVCS, distributed version control system) más popular en la actualidad. Principalmente es una aplicación para ejecutar desde la línea de comandos, aunque existen diferentes aplicaciones gráficas para gestionar los repositorios Git. Conocer los comando básicos de Git para trabajar desde la línea de comandos permite utilizar esta herramienta en cualquier sistema, sin la necesidad de instalar software adicional.

Comandos básicos de Git

Una de las mejores maneras de trabajar con el gestor de versiones Git es mediante la línea de comandos. Por lo que para trabajar con un proyecto solamente es necesario abrir un terminal, ir a la carpeta del proyecto y ejecutar alguno de los siguientes comandos.

Configuración del usuario

Los cambios introducidos en un repositorio Git se tiene que asociar a un programador. Información que se almacena en un archivo que es válido para todos los repositorios en una cuenta de usuario. Para fijar estas opciones, solamente es necesario hacer esto una antes de utilizar Git, se pueden utilizar los siguientes comandos:

git config --global user.name "Nombre"
git config --global user.email "[email protected]"

En donde se ha de reemplazar Nombre por el nombre del usuario y [email protected] por la dirección de correo electrónico.

Inicialización del repositorio

El primer comando que se deberá ejecutar para inicializar un repositorio es git init. Al ejecutarse crea una carpeta .git, oculta en los sistemas UNIX, donde se almacena el repositorio Git. Un repositorio es una recopilación de todos los cambios realizados en el proyecto durante la vida de este, crean un historial de los cambios.

git init

Añadir archivos al repositorio

Es necesario decirle a Git a que archivos de la carpeta donde se encuentra el proyecto tiene que gestionar los cambios. Esto se hace añadiendo cada uno de los archivos a un área de preparación o índice. Para añadir un único archivo se puede utilizar

git add filename

donde filename se reemplaza por el nombre del archivo con extensión. Si se quiere agregar todos los archivos con una extensión, por ejemplo, los que contenga codigo Python, se puede utilizar comodines:

git add *.py

En proyectos grandes esto puede ser algo tedios, por lo que se le puede indicar a Git que incluya todos los archivos del proyecto mediante un único comando. Este comando es:

git add .

Aquí se puede utilizar ubicar un archivo .gitignore en la carpeta raíz para evitar que incluyan ciertos tipos de archivos. Para lo que se tiene que escribir el nombre de los archivos o carpetas que no se deseen incluir en el repositorio el diferentes líneas.

vi .gitignore

Mediante lo que se creará un nuevo archivo .gitignore en blanco en el editor de texto Vim. Para ignorar un archivo o carpeta se

Gestionar los archivos del repositorio

El estado de los archivos en área de preparación se puede obtener mediante el comando:

git status

Mediante lo que se comprueban los archivos que ya han sido agregados al área de preparación, cuales han cambiado y cuáles se tienen que agregar. Ignorándose los archivos o carpetas incluidos en el en .gitignore.

Los archivos que ya no son necesario se pueden eliminar de área de trabajo mediante el comando:

git reset filename

donde filename se reemplazar por el nombre del archivo con extensión. En el caso de que se desee dejar el archivo sin seguimiento el comando que se tiene que lanzar es:

git rm --cached filename

Añadir los archivos al repositorio local

Los archivos en el área de seguimiento se tienen que subir al repositorio local. Para lo que se utiliza el comando commit de Git seguido de un comentario. Esto es:

git commit -m "descripción de los cambios"

En donde descripción de los cambios se tiene que sustituir por un mensaje descriptivo de los cambios incluidos en la versión.

Gestión de ramas

Una de las funcionalidades más interesantes de los sistemas de gestión de versiones es la posibilidad de trabajar con ramas. Para trabajar así con diferentes copias del código para evaluar la inclusión de funcionalidades sin afectar a la estabilidad del programa. Un ejemplo de ello es la metodología GitFlow. Para crear una nueva rama se tiene que utilizar el comando

git branch NombreRama

en donde NombreRama se tiene que reemplazar por el nombre que se le desea dar a la rama. Para moverse a la nueva rama u otra se escribe el comando:

git checkout NombreRama

Una vez los cambios de una rama se den por buenas estos se integran mediante un merge en otra rama. Para esto hay que moverse a la rama que va a recibir los cambios de la rama y escribir:

git merge NombreRama

Trabajando con repositorios remotos

Los cambios incluidos en los repositorios locales se pueden sincronizar con un repositorio remoto. El que se puede almacenar en un servidor propio, en una carpeta o en un servicio de terceros. Entre los servicios para almacenar repositorios Git el más popular es GitHub, aunque existen diferentes servicios alternativos. Para agregar un repositorio remoto en GitHub se tiene escribir el comando:

git remote add origin https://github.com/nombreUsuario/repositorio.git

En donde se reemplazar nombreUsuario por el nombre del usuario en el servicio y repositorio por el nombre del repositorio. origin no es un comando, es el alias que se le asigna al repositorio remoto, se puede reemplazar por otro nombre para identificar mejor a este. En otros servicios la ruta será diferente. Siendo posible agregar más de un repositorio remoto en un proyecto. La lista de los repositorios remotos que se han asociado con su proyecto se pude consultar con

git remote

Para subir los cambios al repositorio remoto la primera vez se tiene que escribir el comando:

git push -u origin master

En donde origin es el alias del repositorio remoto y master es la rama que se sincroniza. En las siguientes ocasiones solamente se tiene que escribir:

git push

Esto es lo que se tiene que escribir cuando se desea subir datos a un repositorio remoto. Para descargar los cambios de un repositorio remoto existente es necesario ir a una carpeta y escribir el comando clone. Por ejemplo, para un proyecto existente en GitHub el comando seria de la forma:

git clone https://github.com/nombreUsuario/repositorio.git

Esto descarga el proyecto completo desde el repositorio remoto. En posteriores ocasiones, para descargar los cambios de otros programadores, se tiene utiliza el comando pull de Git. Es decir, se tiene que escribir

git pull

Conclusiones

Hoy se han repasado algunos de los comandos básicos de Git que se pueden llamar desde la línea de comandos. Al conocer todos estos ya se tiene suficiente información para tener una comprensión básica del uso de esta fantástica herramienta.

Imágenes: Pixabay (StartupStockPhotos)

No te olvides valorar esta entrada

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones de Analytics Lane.

Contenido relacionado