Cómo comprobar si un repositorio de Git tiene un worktree

GitGitBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si un repositorio de Git tiene un worktree (árbol de trabajo). Exploraremos el concepto de worktrees de Git, que son directorios de trabajo adicionales conectados al mismo repositorio, lo que te permite gestionar múltiples ramas simultáneamente.

Utilizarás el comando git worktree list para identificar los worktrees asociados con tu repositorio. Inicialmente, solo verás el worktree principal. Al ejecutar el comando nuevamente, confirmarás la ausencia de worktrees adicionales, lo que sentará las bases para comprender cómo gestionar múltiples líneas de desarrollo dentro de un solo repositorio.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/BasicOperationsGroup -.-> git/status("Check Status") git/BranchManagementGroup -.-> git/branch("Handle Branches") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/status -.-> lab-560085{{"Cómo comprobar si un repositorio de Git tiene un worktree"}} git/branch -.-> lab-560085{{"Cómo comprobar si un repositorio de Git tiene un worktree"}} git/log -.-> lab-560085{{"Cómo comprobar si un repositorio de Git tiene un worktree"}} end

Ejecutar git worktree list

En este paso, exploraremos el concepto de worktrees (árboles de trabajo) de Git y cómo listarlos. Un worktree es un directorio de trabajo adicional conectado al mismo repositorio. Esto te permite tener múltiples ramas descargadas (checkout) al mismo tiempo, lo cual puede ser muy útil para realizar múltiples tareas o probar diferentes características simultáneamente.

Primero, naveguemos hasta el directorio de nuestro proyecto si aún no estás allí. Abre tu terminal y escribe:

cd ~/project/my-time-machine

Ahora, usemos el comando git worktree list para ver los worktrees actuales asociados con nuestro repositorio. Dado que aún no hemos creado ningún worktree adicional, este comando nos mostrará el worktree principal.

git worktree list

Deberías ver una salida similar a esta:

/home/labex/project/my-time-machine  a1b2c3d [master]

Esta salida nos dice que nuestro worktree principal está ubicado en /home/labex/project/my-time-machine, actualmente está en la rama master y apunta a un commit específico (representado por el hash del commit, que será diferente en tu caso).

Comprender los worktrees es importante porque proporcionan una forma flexible de gestionar múltiples líneas de desarrollo dentro de un solo repositorio. En los siguientes pasos, aprenderemos cómo crear y gestionar estos worktrees adicionales.

Verificar la existencia de worktrees adicionales

En el paso anterior, usamos git worktree list y solo vimos una entrada, que es nuestro worktree principal. Esto se debe a que aún no hemos creado ningún worktree adicional.

Confirmemos esto ejecutando el comando nuevamente y observando la salida. Asegúrate de que todavía estás en el directorio ~/project/my-time-machine.

cd ~/project/my-time-machine
git worktree list

La salida debería seguir mostrando solo una línea, que representa tu worktree principal:

/home/labex/project/my-time-machine  a1b2c3d [master]

Esto confirma que actualmente no hay worktrees adicionales asociados con este repositorio. El comando git worktree list es una forma simple pero poderosa de ver todos los worktrees activos de un vistazo. A medida que crees más worktrees en el futuro, este comando se volverá cada vez más útil para gestionar tus diferentes entornos de desarrollo.

En los siguientes pasos, aprenderemos cómo crear un nuevo worktree y veremos cómo cambia la salida de git worktree list.

Verificar el estado del worktree principal

En este paso, usaremos el comando git status dentro de nuestro worktree principal para ver su estado actual. Este comando es esencial para entender qué cambios están presentes en tu directorio de trabajo actual y en el área de preparación (staging area).

Asegúrate de que todavía estás en el directorio del worktree principal:

cd ~/project/my-time-machine

Ahora, ejecuta el comando git status:

git status

Dado que no hemos realizado ningún cambio desde nuestro último commit en el "Your First Git Lab", la salida debería indicar que el árbol de trabajo está limpio:

On branch master
nothing to commit, working tree clean

Esta salida confirma que no hay cambios pendientes por confirmar (commit) en nuestro worktree principal. El comando git status es la herramienta que debes usar para obtener un resumen del estado actual de tu repositorio. Te dice en qué rama estás, si hay algún cambio por confirmar y si hay archivos no rastreados.

En los próximos pasos, introduciremos cambios y crearemos nuevos worktrees, y verás cómo la salida de git status y git worktree list refleja estas acciones.

Resumen

En este laboratorio (lab), aprendimos cómo verificar la existencia de worktrees de Git utilizando el comando git worktree list. Navegamos hasta el directorio de nuestro proyecto y ejecutamos el comando, observando que inicialmente solo se listaba el worktree principal, lo que confirmaba la ausencia de worktrees adicionales. Este comando es esencial para identificar y gestionar múltiples directorios de trabajo vinculados a un solo repositorio de Git.