En macOS, elimine un worktree vinculado y terminado desde Terminal con git worktree remove, pero primero compruebe si contiene cambios que aún necesita. Git elimina un worktree limpio; si tiene cambios pendientes, se detiene a menos que fuerce la eliminación. Para conservar el trabajo no finalizado, confírmelo con un commit o guárdelo en el stash antes de eliminar el directorio. No añada --force solo para eludir la advertencia de Git: puede descartar los archivos locales del worktree. Estos pasos se aplican a los worktrees vinculados, no al directorio de trabajo principal del repositorio. Documentación de worktree de Git

1. Localice el worktree y compruebe su estado

Abra Terminal y vaya al repositorio principal o a cualquier worktree vinculado que pertenezca al mismo repositorio. Para ver todas las rutas de worktrees y ramas asociadas, ejecute:

git worktree list

Copie la ruta exacta del worktree terminado. A continuación, inspeccione su estado desde el interior de ese worktree, entrecomillando la ruta si contiene espacios:

cd "/path/to/finished-worktree"
git status --short --branch

La salida del estado ayuda a revelar archivos rastreados modificados o en el área de preparación (staged), así como archivos sin rastrear. Compruebe también el worktree en Finder para verificar si hay archivos locales de los que dependa su flujo de trabajo. Es posible que los archivos ignorados por Git no aparezcan en la salida habitual de status. Si no está seguro de si algo en el directorio es desechable, deténgase antes de la eliminación y haga una copia de seguridad independiente o conserve el directorio. Un worktree de Git comparte los datos del repositorio con su worktree principal, pero tiene su propio checkout e índice; eliminar el checkout no es una operación de copia de seguridad de propósito general. Documentación de worktree de Git

2. Conserve los cambios que desee mantener

Si el trabajo está listo para conservarse en el repositorio, confírmelo con un commit en la rama del worktree. Primero revise el estado y el diff, luego prepare en el área de preparación solo los archivos que pretenda incluir y haga el commit:

git diff
git add path/to/file
 git commit -m "Describe the finished work"

Elimine el espacio inicial accidental antes de git commit si su shell lo interpreta de forma inesperada; una forma limpia es git commit -m "Describe the finished work". Un commit mantiene los cambios en el historial de Git, pero compruebe que se encuentre en la rama prevista antes de eliminar el worktree.

Si los cambios están inacabados, guarde en su lugar las ediciones rastreadas y los archivos sin rastrear en el stash:

git stash push -u -m "Before removing finished worktree"
git stash list

La opción -u incluye los archivos no rastreados. Los archivos ignorados no se incluyen, así que conserve por separado cualquier configuración local ignorada, archivos generados u otros datos necesarios. Confirme que el nuevo stash aparezca en la lista antes de continuar. Los stashes pertenecen al repositorio, y más tarde puede aplicar los cambios guardados desde otro worktree con git stash apply stash@{0}; verifique primero el número de entrada, ya que los stashes posteriores pueden cambiar el orden de la lista. Aplicar un stash puede generar conflictos, por lo que debe inspeccionar el resultado antes de eliminar el stash. Documentación de git stash

3. Elimine el worktree limpio

Después de hacer commit o stash de los cambios que necesita, salga del directorio de destino y ejecute el comando de eliminación desde otro worktree en el mismo repositorio. Use la ruta exacta indicada por git worktree list:

cd "/path/to/main-repository"
git worktree remove "/path/to/finished-worktree"
git worktree list

La segunda lista es una confirmación útil de que Git ya no incluye ese checkout. Git documenta que remove solo acepta worktrees limpios de forma predeterminada; un archivo sin rastrear o una modificación en un archivo rastreado pueden impedir la eliminación. Documentación de worktree de Git

Si el proceso de eliminación informa que el worktree no está limpio, no cambie a git worktree remove --force a menos que haya decidido que todos los archivos locales restantes se pueden descartar. Vuelva a ese worktree, inspeccione git status y conserve primero los archivos o cambios restantes. En particular, el stash no incluye archivos ignorados, y un submódulo puede tener sus propios cambios que requieran atención por separado.

Si ya eliminó la carpeta en Finder

Si eliminó el directorio de un worktree vinculado fuera de Git, su registro administrativo puede permanecer. Desde el repositorio principal, ejecute git worktree list y compruebe si la ruta que falta está marcada como prunable. Git proporciona git worktree prune para eliminar registros de worktrees cuyos directorios han desaparecido; esto no restaura los archivos de proyecto eliminados. Utilícelo solo después de confirmar que el directorio realmente ha desaparecido y que no necesita su contenido. Para futuras limpiezas, utilice git worktree remove para que Git actualice los metadatos del worktree como parte de la eliminación. Documentación de worktree de Git

Una limpieza segura concluye con el checkout terminado eliminado, los cambios que deseaba mantener confirmados en un commit o guardados en el stash, y los archivos locales ignorados necesarios conservados por separado. Mantenga el worktree en su lugar siempre que no pueda verificar que su contenido restante sea prescindible.

Fuentes