Comparar etiquetas locales y remotas
En el paso anterior, vimos cómo listar las etiquetas (tags) en un repositorio remoto. Ahora, veamos cómo comparar esas etiquetas remotas con las que existen en tu repositorio local. Esto es útil para comprobar si tu repositorio local está actualizado con el remoto o si tienes alguna etiqueta local que aún no se haya enviado.
Primero, asegúrate de estar en un repositorio Git. Crearemos uno simple para este ejemplo. Navega a tu directorio de proyecto e inicializa un nuevo repositorio Git:
cd ~/project
mkdir my-tag-repo
cd my-tag-repo
git init
Ahora, creemos un archivo y hagamos un commit inicial:
echo "Initial content" > file.txt
git add file.txt
git commit -m "Initial commit"
A continuación, creemos una etiqueta local. Crearemos una etiqueta ligera llamada v1.0
:
git tag v1.0
Ahora, listemos nuestras etiquetas locales usando el comando git tag
:
git tag
Deberías ver:
v1.0
Esto confirma que nuestra etiqueta local v1.0
se ha creado.
Para comparar nuestras etiquetas locales con las remotas, normalmente necesitaríamos un repositorio remoto. Dado que aún no tenemos un remoto configurado para nuestro my-tag-repo
, podemos simular el concepto de comparación.
Imagina que tienes un repositorio remoto vinculado a tu repositorio local. Podrías obtener la información más reciente del remoto sin fusionar los cambios usando git fetch --tags
. Este comando obtiene todas las etiquetas del repositorio remoto.
Después de obtener las etiquetas, puedes usar git tag -l
para listar las etiquetas locales y git ls-remote --tags origin
(suponiendo que 'origin' es el nombre de tu remoto) para listar las etiquetas remotas. Al comparar la salida de estos dos comandos, puedes ver qué etiquetas están presentes localmente, cuáles están presentes en el remoto y cuáles están presentes en ambos.
Por ejemplo, si git tag -l
muestra v1.0
y v1.1
, pero git ls-remote --tags origin
solo muestra v1.0
, significa que tu etiqueta local v1.1
aún no se ha enviado al repositorio remoto.
En este entorno de laboratorio, no tenemos un servidor remoto al que enviar. Sin embargo, entender los comandos git tag
(para etiquetas locales) y git ls-remote --tags
(para etiquetas remotas) es la clave para compararlos.
En el siguiente paso, exploraremos el escenario de tener etiquetas locales que aún no están en el repositorio remoto.