Mémo Git · Worktrees

Créer un worktree sur une nouvelle branche

git worktree add -b <branche> <dossier>

git worktree add -b <branche> <dossier> crée la branche depuis le commit courant, puis l'extrait dans un nouveau dossier. Ton travail en cours reste intact dans le dossier d'origine, sans stash ni changement de branche.

Ce que ça fait

Crée la branche depuis le commit courant, puis l'extrait dans un nouveau dossier.

Un cas d'usage

Tu démarres hotfix/login depuis main, tout en gardant ta branche de fonctionnalité ouverte dans son dossier.

En ligne de commande

git worktree add -b hotfix/login ../site-hotfix
Crée hotfix/login depuis le commit courant, dans ../site-hotfix.
git worktree add -b hotfix/login ../site-hotfix main
Fait partir la nouvelle branche de main.
git worktree add -b essai ../site-essai <commit>
Fait partir la nouvelle branche d'un commit précis.

Dans Merathon

  1. Section « Worktrees » → bouton + (au survol du titre).
  2. Saisis le nom de la nouvelle branche : elle part de la branche courante.
  3. Valide ou modifie le dossier proposé (<dépôt>-<branche>, à côté du dépôt) : il doit être absolu et ne pas exister.
  4. Le worktree s'ouvre dans un nouvel onglet.

Questions fréquentes

Où placer le dossier d'un worktree ?

À côté du dépôt plutôt que dedans, sinon il apparaîtrait comme un dossier non suivi. Merathon propose <dépôt>-<branche>, dans le dossier voisin.

Et mes sous-modules ?

Ils ne sont pas initialisés dans un nouveau worktree : lance git submodule update --init --recursive depuis ce dossier, ou initialise-les depuis son onglet dans Merathon.

Voir aussi