Se você já precisou parar o que estava fazendo em uma branch de desenvolvimento para corrigir um bug urgente em produção, sabe o trabalho que dá: você precisa fazer stash das alterações atuais, trocar de branch, compilar tudo de novo e, depois, voltar. O Git Worktree resolve esse problema permitindo que você abra múltiplos diretórios de trabalho conectados ao mesmo repositório local.

O que é o Git Worktree? Link para o cabeçalho

O comando git worktree permite anexar árvores de trabalho adicionais ao seu repositório atual. Em vez de clonar o projeto inteiro duas vezes em pastas diferentes — o que duplica o espaço em disco e desconecta os históricos —, o Worktree compartilha o mesmo banco de dados .git, mas oferece pastas separadas para você editar arquivos e rodar testes em branches diferentes ao mesmo tempo.

  • Economia de espaço: Compartilha o mesmo diretório .git central.
  • Issempre atualizado: Cada pasta tem sua própria branch ativa e independente.
  • Agilidade: Adeus aos comandos constantes de stash e pop.

Exemplo Prático de Uso Link para o cabeçalho

Imagine que você está na sua branch principal (main) ou desenvolvendo uma nova funcionalidade (feature-login), mas precisa criar uma correção rápida. Veja como usar o Worktree passo a passo:

  1. Visualize os worktrees atuais:
git worktree list

Isso mostrará o seu diretório principal atual.

  1. Crie um worktree para o bugfix:

Suponha que você queira criar uma pasta chamada hotfix-login fora do seu projeto principal para corrigir um erro na branch main:

git worktree add ../hotfix-login main

(Nota: O Git vai criar a pasta hotfix-login no diretório pai, já apontando para a branch main).

  1. Trabalhe na nova pasta:

Abra a nova pasta em seu editor de código. Faça suas alterações, salve e faça o commit normalmente. O seu repositório principal continuará completamente intacto.

  1. Remova o worktree após o uso:

Assim que o bug for corrigido e você enviar o código, você pode limpar o worktree com segurança:

git worktree remove ../hotfix-login