Urgent.News

What's breaking now, across thousands of outlets.

Tech

Qué es un git worktree: cómo funciona por dentro y cuándo usarlo

Un git worktree es un directorio de trabajo adicional del mismo repositorio: una segunda carpeta con sus propios archivos, su propia rama activa y su propio staging , que comparte con la carpeta original el historial, las ramas y la configuración. Con él puedes tener main abierta en una carpeta y feature/login en otra al mismo tiempo, sin clonar el repositorio dos veces y sin hacer stash cada vez…

Original Spanish Read in English

Un git worktree es un directorio adicional dentro del mismo repositorio, que cuenta con su propia rama activa, HEAD y índice. A diferencia de la carpeta original, el worktree guarda su propio historial, ramas y configuración. Con este recurso, puedes trabajar simultáneamente en diferentes ramaes, como main y feature/login, sin necesidad de clonar el repositorio o usar git stash.

Este comando fue introducido en git 2.5 (2015), aunque no siempre es evidente su utilización, ya que solo tiene sentido al comprender la estructura interna de un repositorio.

En un repositorio git, existen tres piezas principales: la base de objetos (historial), las referencias (ramas y tags) y el estado de trabajo (rama activa, índice y archivos). Cada one de estos componentes contiene información específica, como el historial de commits, los nombres que apuntan a esos commits (ramas, tags y remotas) y la rama activa, los cambios preparados para el próximo commit y los archivos visibles en la carpeta.

Un trabajo único del repositorio solo puede mantener una rama activa a la vez. Sin embargo, un git worktree multiplica solo la tercera pieza: el estado de trabajo. Cada worktree tiene su propio HEAD, índice y carpeta de archivos, pero comparte la base de objetos y referencias con el worktree principal. Los worktrees se denominan según su origen: la carpeta donde clonaste o iniciaste el repositorio es el worktree principal, mientras que los creados con git worktree add son worktrees vinculados.

Aunque un worktree vinculado comparte todos los aspectos funcionales con el principal, hay limitaciones a considerar. Una rama solo puede estar activa en un worktree en un momento dado y no reproduce archivos o configuraciones que git no versiona, como node_modules, .env o builds.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

What is a git worktree: how it works and when to use one

A git worktree is an additional working directory of the same repository: a second folder with its own files, its own checked-out branch and its own staging area, which shares the history, the…

  • Git worktree shares repository, branch, and config with main directory
  • Object database and references are common across all worktrees
  • Each worktree has unique working state with own HEAD, index, files

The Rehearsal Layer — Or, an Escrow You Have Never Opened Is Indistinguishable from No Escrow

Yesterday's piece ended with a test: four items, PASS / FAIL / UNKNOWN, UNKNOWN counts as FAIL. It was a good test as far as it went. It had a hole, and the hole is the whole subject of today.

  • Rehearsal uncovers escrow differences, indistinguishable until needed
  • Drills costly, uncertain benefit, perceived cost outweighs benefit
  • Regular drills improve preparedness, resilience, document results

More from Wednesday 28 October →