GIT Comandos básicos
Para las personas que se están iniciando en GIT, les presento una serie de comandos usados comúnmente.
git help
Muestra una lista con los comandos más utilizados en GIT.
git init
Podemos ejecutar ese comando para crear localmente un repositorio con GIT y así utilizar todo el
funcionamiento que GIT ofrece. Basta con estar ubicados dentro de la carpeta donde tenemos nuestro
proyecto y ejecutar el comando. Cuando agreguemos archivos y un commit, se va a crear el branch
master por defecto.
git clone URL/[Link] NombreProyecto
Clona un proyecto de git en la carpeta NombreProyecto.
git add + path
Agrega al repositorio los archivos que indiquemos.
git add -A
Agrega al repositorio TODOS los archivos y carpetas que estén en nuestro proyecto, los cuales GIT no
está siguiendo.
git commit -m "mensaje" + archivos
Hace commit a los archivos que indiquemos, de esta manera quedan guardados nuestras modificaciones.
git commit -am "mensaje"
Hace commit de los archivos que han sido modificados y GIT los está siguiendo.
git push origin NombreDeBranch
Luego de que hicimos un git commit, si estamos trabajando remotamente, este comando va a subir los
archivos al repositorio remoto, específicamente al branch que indiquemos.
ramas
Las ramas son utilizadas para desarrollar funcionalidades aisladas unas de otras. La rama master es la rama "por
defecto" cuando creas un repositorio. Crea nuevas ramas durante el desarrollo y fusiónalas a la rama principal
cuando termines.
git checkout -b NombreDeBranch
Crea un nuevo branch y automaticamente GIT se cambia al branch creado, clonando el branch desde
donde ejecutamos el comando.
git checkout NombreDeBranch
Sirve para moverse entre branches, en este caso vamos al branch que indicamos en el comando.
git branch
Nos muestra una lista de los branches que existen en nuestro repositorio.
git branch -d feature_x
Borra la rama.
Una rama nueva no estará disponible para los demás a menos que subas (push) la rama a tu repositorio
remoto.
git merge NombreDeBranch
Hace un merge entre dos branches, en este caso la dirección del merge sería entre el branch que
indiquemos en el comando, y el branch donde estémos ubicados.
git status
Nos indica el estado del repositorio, por ejemplo cuales están modificados, cuales no están siendo
seguidos por GIT, entre otras características.
git pull origin NombreDeBranch
Hace una actualización en nuestro branch local, desde un branch remoto que indicamos en el comando.
[Link]
Comandos básicos de Git
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 comandos 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 [Link] "Nombre"
git config --global [Link] "nombre@[Link]"
En donde se ha de reemplazar Nombre por el nombre del usuario y nombre@[Link] 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 [Link]
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 [Link]
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.