Introducción al uso de comandos en Git
Nos hemos encontrado muchas veces en la posición de tener que trabajar con múltiples personas en un mismo proyecto. Esto puede ser abrumador y difícil de manejar si no tenemos una herramienta adecuada para el manejo del código. Es aquí donde Git se convierte en nuestro mejor aliado.
Git es un sistema de control de versiones que nos permite llevar una gestión detallada de los cambios realizados en un proyecto a lo largo del tiempo. Afortunadamente, Git nos ofrece una gran cantidad de comandos que nos permiten hacer todas estas operaciones de manera sencilla y eficiente.
Algunos de los comandos más importantes que debemos conocer son:
-
git init: este comando nos permite crear un repositorio vacío en nuestra computadora. A partir de este momento, podemos comenzar a trabajar en nuestro proyecto.
-
git add: este comando nos permite agregar archivos y carpetas a nuestro repositorio. Es importante señalar que no significa que estos cambios se hayan guardado.
-
git commit: este comando nos permite guardar los cambios que hemos realizado en nuestro repositorio, generando un identificador único que podemos utilizar para identificar los cambios en el futuro.
-
git push: este comando nos permite enviar los cambios realizados en nuestro repositorio a un servidor remoto, como GitHub o Bitbucket.
Con solo estos cuatro comandos básicos podemos empezar a utilizar Git de manera efectiva. Claro está que hay muchos más comandos que podemos utilizar, pero estos son los más utilizados y los que debemos conocer para empezar. La práctica y la experiencia que adquiramos serán nuestros mejores aliados para dominar Git.
Guarda cambios sin enviarlos al repositorio con ‘git stash’
Cuando trabajamos en un proyecto con Git, es común encontrarnos en situaciones en las que necesitamos cambiar de rama o actualizar el código, pero aún no queremos enviar nuestros cambios al repositorio. En lugar de comprometernos con una versión temprana de nuestro desarrollo, Git nos proporciona la herramienta git stash
.
Git stash
nos permite guardar temporalmente nuestros cambios sin enviarlos al repositorio. Esto es útil si necesitamos hacer algo rápido sin tener que comprometernos con una versión aún no terminada del código.
Por ejemplo, si estamos trabajando en una nueva característica pero tenemos que solucionar un error crítico en producción, podemos guardar nuestros cambios con git stash
, solucionar el error y luego volver a nuestra rama y aplicar los cambios guardados.
Para usar git stash
simplemente ejecutamos el comando git stash
. Al hacer esto, Git guarda nuestros cambios en una pila y los limpia del directorio de trabajo. Luego podemos trabajar en otra área del código y volver a aplicar nuestros cambios con git stash apply
.
Si necesitamos ver qué se encuentra actualmente en la pila, podemos ejecutar el comando git stash list
. Si deseamos eliminar los cambios guardados, podemos utilizar el comando git stash drop
.
El comando
git stash
es una herramienta muy útil para aquellos que trabajan en proyectos con Git. Si necesitamos hacer un rápido cambio sin comprometernos con una versión temprana de nuestro desarrollo,git stash
nos permite guardar temporalmente nuestros cambios sin enviarlos al repositorio.
Revisa el historial de cambios con ‘git log’
Si algo he aprendido en mi experiencia con Git, es que git log
es una de las mejores herramientas para entender lo que ha sucedido en el historial de cambios de un repositorio.
Con git log
podemos ver los commits en orden cronológico inverso, es decir, del más reciente al más antiguo. Además, podemos filtrar la salida con una gran variedad de opciones para enfocarnos en lo que nos interesa.
Por ejemplo, si queremos ver solo los últimos tres commits, podemos ejecutar git log -3
. Si queremos ver estos commits en un formato más amigable, podemos utilizar git log --oneline --decorate --color
. Este comando nos muestra cada commit en una sola línea, con información sobre su hashes, mensaje y si tiene alguna etiqueta o rama asociada.
$ git log --oneline --decorate --color
f0fc9a1 (HEAD -> main, origin/main) Add sample code
a63cacc Update README
2e70712 First commit
Además, podemos utilizar opciones como --author
para filtrar los commits de un autor específico o --grep
para buscar por una palabra o patrón específico en el mensaje del commit.
git log
es una herramienta muy poderosa, pero también muy flexible. Tomate el tiempo para jugar con sus opciones y descubre cómo puedes utilizarla mejor en tu flujo de trabajo con Git.
Elimina archivos del repositorio con ‘git rm’
Cuando trabajas en un proyecto de Git, es común que en algún momento necesites eliminar un archivo del repositorio. Afortunadamente, Git ofrece un comando simple y efectivo para hacer esto: git rm
.
El uso básico de este comando es el siguiente:
git rm nombre_del_archivo
Este comando eliminará el archivo especificado del directorio de trabajo y lo marcará como eliminado en Git. Luego, el archivo ya no aparecerá en la lista de seguimiento y no se incluirá en el próximo commit.
Si por alguna razón deseas mantener una copia del archivo en tu sistema local, puedes usar la opción -n
de git rm
:
git rm -n nombre_del_archivo
Esto eliminará el archivo del directorio de trabajo pero lo mantendrá en el repositorio. En otras palabras, el archivo estará marcado como eliminado pero no se eliminará físicamente del sistema de archivos.
Además de eliminar uno o varios archivos de un solo golpe, git rm
también puede eliminar recursivamente todos los archivos que tengan una cierta extensión. Por ejemplo, si deseas eliminar todos los archivos .txt
del directorio actual y sus subdirectorios, puedes usar el siguiente comando:
git rm -r '*.txt'
El comando
git rm
es una herramienta útil para mantener tu repositorio limpio y organizado. Usalo con precaución, asegurándote de que realmente deseas eliminar los archivos marcados antes de confirmar los cambios.
Crea y cambia entre ramas con ‘git branch’ y ‘git checkout’
Una de las funcionalidades más importantes en Git es la capacidad de trabajar con ramas. Las ramas nos permiten trabajar en diferentes versiones de nuestro proyecto al mismo tiempo, esto nos ayuda a experimentar sin afectar la versión principal.
Para crear una nueva rama, utilizamos el comando git branch
seguido del nombre de nuestra nueva rama:
$ git branch nueva-rama
Este comando creará una nueva rama con el nombre de “nueva-rama”. Sin embargo, para empezar a trabajar en nuestra nueva rama, debemos cambiar a ella utilizando el comando git checkout
seguido del nombre de nuestra nueva rama:
$ git checkout nueva-rama
Ahora estamos trabajando en nuestra nueva rama. Podemos hacer cambios en esta rama sin afectar nuestra rama principal.
Si deseamos ver todas las ramas disponibles, utilizamos el comando git branch
sin argumentos y nos mostrará una lista de todas las ramas de nuestro proyecto.
También podemos combinar ramas utilizando el comando git merge
. Este comando nos permite combinar los cambios de una rama a otra. Por ejemplo, si queremos combinar nuestra rama “nueva-rama” con nuestra rama principal:
$ git checkout main
$ git merge nueva-rama
De esta forma, estamos combinando los cambios de nuestra rama “nueva-rama” con nuestra rama principal.
Las ramas son una herramienta poderosa y útil en Git. Nos permiten experimentar sin temor a afectar nuestra rama principal y nos brindan la capacidad de trabajar en diferentes versiones de nuestro proyecto al mismo tiempo.
Sincroniza cambios con el repositorio remoto usando ‘git pull’ y ‘git push’
Cuando trabajamos en un proyecto utilizando Git, es esencial mantener nuestro repositorio local y el remoto sincronizados. Git nos ofrece dos comandos para sincronizar cambios entre ambos repositorios: git pull
y git push
.
git pull
nos permite obtener los cambios del repositorio remoto y fusionarlos con nuestro repositorio local. Es importante mencionar que si hemos realizado cambios en nuestro repositorio local que han sido modificados también en el repositorio remoto, se pueden generar conflictos que debemos resolver antes de poder hacer la fusión.
Por otro lado, git push
nos permite enviar nuestros cambios al repositorio remoto. Es importante asegurarnos de que nuestra rama local y la rama remota tengan el mismo nombre y seguimiento, de lo contrario deberemos especificarlos en el comando (‘git push ’).
Es buena práctica sincronizar nuestros repositorios antes y después de trabajar en nuestro proyecto para prevenir conflictos y mantener el historial de cambios actualizado. Un flujo de trabajo común puede ser el siguiente:
- Verificar el estado de nuestro repositorio local con ‘git status’.
- Realizar cambios y guardarlos con ‘git add’ y ‘git commit’.
- Ejecutar
git pull
para obtener cambios del remoto y fusionarlos con nuestro local. - Resolver conflictos si se presentan.
- Ejecutar
git push
para enviar los cambios al repositorio remoto. - Repetir el proceso antes de continuar trabajando.
El comando
git pull
nos permite obtener cambios del repositorio remoto y ‘git push’ nos permite enviar nuestros cambios al mismo. Ambos son importantes para mantener nuestro proyecto sincronizado y evitar conflictos.