Gérer son espace de travail git avec "gws"

, par  StreakyCobra , popularité : 1%

https://streakycobra.github.io/gws/... gws est un outil KISS (script bash, compatible zsh) pour gérer de manière simple un espace de travail composé de plusieurs dépôts git. Ça ne vous parle pas et vous semble être un pitch commercial ? Laissez-moi l’aborder autrement ; si vous vous reconnaissez dans quelques-unes de ces questions, cet outil pourrait vous être utile : Vous avez un dossier /dev/, /code/ ou /workspace/ dans votre répertoire personnel ? Vous y avez cloné dedans plein de dépôts git ? Vous ne savez jamais quels dépôts, branches, commits n’ont pas été synchronisés ? Vous en avez marre d’avoir à faire 17 git pull manuellement le lundi matin au boulot ? Vous déprimez en arrivant dans le train de voir que vous n’avez pas récupéré votre dernier projet sur votre ordinateur portable ? lien n°1 : Journal à l’origine de la dépêche lien n°2 : Projet sur Github lien n°3 : Version empaquetée dans Arch Linux

Comment ça marche ?

Premièrement créez dans votre répertoire ( /dev/ par exemple) un fichier .projects.gws avec un contenu de ce style (que vous adapterez à vos besoins bien sûr) : tools/coursera-dl | https://github.com/dgorissen/coursera-dl | tools/peru | https://github.com/buildinspace/peru | tools/q | https://github.com/harelba/q | work/docker-gitlab | https://github.com/sameersbn/docker-gitlab.git | work/neuraltalk | https://github.com/karpathy/neuraltalk.git | Lancez gws update qui va cloner tous les dépôts manquants :

PNG

Hackez un peu ! Lancez gws pour voir l’état de votre espace de travail (dépôts, branches) en un clin d’œil :

PNG

Faites éventuellement un pull fast-forward avec la commande gws ff. Vous aurez ainsi avec vous la dernière version de tous vos projets. Très utile avant de partir prendre le train. Avant de partir du boulot, faites un petit gws à nouveau pour être sûr que vous avez bien synchronisé tous vos changements, par exemple pour retrouver vos fichiers de configuration en arrivant à la maison.

Il y a bien quelques possibilités en plus, mais je vous laisse le soin de lire le README (en anglais) pour la liste exhaustive des possibilités. Juste un petit aguichage/teasing rien que pour vous : La commande gws est utilisable depuis n’importe quel endroit de l’espace de travail. Vous pouvez créer plusieurs espaces de travail différents, faites plusieurs dossiers avec chacun son propre .projects.gws En versionnant le fichier .projects.gws sur github, par exemple, vous pouvez vous retrouver avec exactement le même workspace sur tous vos ordinateurs. Si vous le versionnez, vous pouvez même rajouter le dossier courant (. | … |) dans le fichier .projects.gws pour le surveiller aussi. Il y a possibilité de mettre un fichier .ignore.gws que vous ne versionnerez pas pour filtrer avec des expressions rationnelles certains projets — par exemple les projets du boulot à la maison.

Où je le trouve ?

Il est disponible sur Github et empaqueté pour Arch Linux . Pour les autres distributions, c’est un simple script bash, mettez-le quelque part dans votre $PATH. Ou mieux, faites-en un paquet.

PS : Et pour répondre d’avance à la question : « Un script bash de 830 lignes, t’es malade ? » je vous réponds : YOLO 1.

Mais oui si c’était à refaire je choisirais un autre langage. C’est impossible à maintenir un script bash de cette taille. J’ai dans l’idée, un jour, de le réécrire dans un autre langage et de supporter plus de VCS (mercurial, svn, …) et plus d’options. Un jour… qui sait. ↩ Télécharger ce contenu au format Epub

Lire les commentaires

Voir en ligne : http://linuxfr.org/news/gerer-son-e...

Publications Derniers articles publiés

Sites favoris Tous les sites

84 sites référencés dans ce secteur