Travailler sur plusieurs branches simultanément dans un seul référentiel

Dans un monde parfait, chaque développeur devrait se concentrer sur une seule tâche ou histoire, sans avoir à basculer entre différents contextes. Avouons-le, c'est rarement le cas de nos jours. Heureusement, git a l'outil parfait dans son arsenal, permettant aux développeurs de travailler simultanément sur plusieurs branches sans aller et venir. L'instrument en question est git worktree.
Conditions:
Pour démarrer un arbre de travail, vous avez besoin d'un référentiel initialisé, éventuellement avec plusieurs branches.

Par exemple, considérons un dépôt avec trois branches. list-users-API
, une branche de fonctionnalité qui se trouve être la branche active actuelle, la main
branche et user-unable-to-edit-content
, une branche de bogue supplémentaire. Un scénario possible est que la branche de bogue n'a pas réussi l'examen du code et que d'autres modifications sont nécessaires. Il y a deux façons de procéder à partir d'ici :
- Stockez tous nos progrès et passez à la branche des bogues pour appliquer les modifications nécessaires.
- Clonez le référentiel dans un dossier différent et résolvez le problème sans avoir à le cacher, mais investissez un temps considérable dans le processus.
- La troisième et dernière approche consiste à utiliser git worktree, en conservant notre progression actuelle sur la branche de fonctionnalité et en évitant complètement de changer.
Mise en œuvre:
Pour commencer, utilisez la commande suivante pour initialiser un arbre de travail :
$ git worktree add <path> [<commit-ish>]

Si vous utilisez git branch
maintenant, vous allez voir un +
symbole préfixant le nom de la branche. Pour commencer à utiliser l'arbre de travail, tout ce que nous avons à faire est d'ouvrir le nouveau répertoire à l'intérieur du référentiel avec l'IDE de notre choix. Nous pouvons maintenant apporter des modifications à la branche de bogue tout en développant la nouvelle fonctionnalité. Une fois que nous avons terminé les modifications, nous pouvons supprimer l'arbre de travail en utilisant :
$ git worktree remove <worktree>
Git worktree est un instrument pratique, qui augmente la polyvalence et fait gagner beaucoup de temps. Il permet de travailler sur deux branches ou plus sans avoir à cacher ou à valider du code inachevé. J'espère que cet article vous a été utile et augmentera votre productivité. Veuillez fournir tout commentaire que vous jugez utile de partager dans les commentaires !