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

Nov 29 2022
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.
Photo de Suganth sur Unsplash

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 mainbranche 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 :

  1. Stockez tous nos progrès et passez à la branche des bogues pour appliquer les modifications nécessaires.
  2. 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.
  3. 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>]

Préparation de l'arbre de travail (vérification de 'user-unable-to-edit-content')

Si vous utilisez git branchmaintenant, 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 !