Client Git : Tower 12.5 gère aussi la fonctionnalité worktree
Tower, un client Git (outil de versionnement couramment utilisé notamment par les développeurs) pour macOS1, gagne encore une fonctionnalité avec la version 12.5 sortie récemment et c’est une fonction qui était manifestement réclamée par de nombreux utilisateurs. L’app sait ainsi gérer les worktrees de Git, une fonctionnalité assez proche des branches, même s’il y a quelques différences intéressantes. Si vous n’avez jamais utilisé Git, sachez que le concept est toujours le même : séparer les fichiers pour mieux organiser un travail.
Les branches sont centrales au fonctionnement de Git. Chaque dépôt est composé d’une branche principale, souvent nommée « main » qui contient selon les choix des développeurs la dernière version du code en production ou encore le code en version stable. Les autres branches servent à développer de nouvelles fonctionnalités sans toucher à la principale, ce qui permet notamment de corriger des bugs sur la production en parallèle d’un développement. Les worktrees sont en quelque sorte des branches améliorées, ou en tout cas assouplies. Les fichiers sont alors dupliqués dans un autre dossier distinct de celui qui contient à l’origine le projet.
Ce choix technique simplifie la transition d’un worktree à l’autre. On ne peut passer d’une branche à l’autre avec un travail en cours, il faut soit effectuer un commit pour enregistrer un changement, soit un stash qui correspond en quelque sorte à une sauvegarde temporaire. On peut en revanche passer d’un worktree à l’autre en laissant son code en plan, sans se soucier de l’état du projet au moment où on fait la transition. C’est le principal avantage de cette fonctionnalité, qui allège aussi le passage d’un élément à un autre, à la fois parce que l’utilisateur n’a pas à intervenir et parce qu’il est plus rapide sous le capot.
On pourrait croire que dupliquer un projet entier pour créer un worktree serait une très mauvaise idée en termes de performances ou de capacité de stockage sur nos Mac. En réalité, ce n’est pas le cas, à la fois parce que le système de fichiers APFS conçu par Apple ne duplique pas réellement les données (un clone sera d’abord créé sans occuper plus d’espace et seules les modifications appliquées par la suite augmenteront l’espace réellement utilisé), ce qui rend l’opération très rapide, et à la fois parce que Git ne duplique ses propres données. Tout l’historique est identique entre tous les worktrees et la transition de l’un à l’autre nécessite moins de calculs qu’entre deux branches.
Si vous utilisez Tower, vous pouvez découvrir cette fonctionnalité à partir de la version 12.5. Comme toujours, l’app propose tout le nécessaire pour utiliser les worktrees depuis son interface, sans jamais toucher au terminal. Vous pourrez en créer un nouveau à partir d’une branche, choisir l’emplacement associé et supprimer le dossier dupliqué à tout moment. Une fois le worktree créé, l’app se débrouille pour sélectionner le bon dossier en fonction de la branche active et toutes les fonctionnalités habituelles sont présentes, c’est vraiment transparent pour l’utilisateur.
Tower est une app payante, associée à un abonnement facturé à partir de 69 $ HT par an et par utilisateur. Vous pouvez toutefois la télécharger gratuitement et tester toutes ses fonctions pendant un mois avant de vous décider. Les étudiants et enseignants peuvent par ailleurs bénéficier d’une licence gratuite.
Son interface n’est pas traduite en français et macOS 11 (Big Sur) est nécessaire au minimum.
-
Il existe pour Windows, même si les deux apps sont assez différentes et cette nouveauté ne concerne que le Mac. ↩︎