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.