Definição do git worktree

O git worktree é um recurso do Git que permite que você trabalhe em várias cópias de um mesmo repositório ao mesmo tempo. Cada diretório de trabalho (worktree) tem seu próprio ambiente de trabalho, incluindo arquivos de índice e de HEAD. Isso é útil em muitas situações, como trabalhar em duas ramificações simultaneamente, realizar uma tarefa em segundo plano sem interromper seu fluxo de trabalho atual e isolar o ambiente para experimentos.

Com o git worktree, você pode facilmente alternar entre diferentes ramificações do código sem ter que se preocupar com os conflitos de mesclagem e outros problemas que podem surgir ao tentar fazer isso no mesmo diretório de trabalho.

Esse recurso pode ser particularmente útil para os desenvolvedores que precisam gerenciar várias versões do mesmo projeto simultaneamente, ou para quem gosta de manter seu ambiente de trabalho limpo e organizado.

Comandos

git worktree list

Lista os worktrees atuais

git worktree add

Recomenda-se (segundo vídeo do GitKraken) não colocar o worktree no mesmo diretório atual. Porém, nada indica que precisa ser especificamente fora do seu repo, em um video do Canal ThePrimeagen ele cria as worktrees no diretório do projeto mesmo.

Então na raiz do seu repositório (dir gitlens por exemplo):

$ git worktree add ../gitlenswt/main

Onde:

  • ../gitlenswt é o diretório onde vc vai colocar as worktrees.
  • main em ../gitlenswt/main é o nome da branch que vc usará para o worktree, nesse caso, a branch main.

Ao executar esse comando, criamos um diretório (../gitlenswt/main) apontando para a main.