**[[https://github.com/x-motemen/ghq|ghq]]** permet de cloner un projet sans se soucier où sera cloné le projet, il permet également de cloner en respectant l’arborescence du repo distant. ====== git clone, c’est pourtant simple ! ====== Le processus de clonage avec la commande ''%%git clone%%'' peut sembler simple au premier abord, mais lorsqu’on gère plusieurs dépôts **Git**, cela peut rapidement devenir complexe. C’est encore plus vrai lorsque l’on travaille avec des forks de dépôts. L’outil **ghq** vient simplifier cette gestion en centralisant les dépôts dans un emplacement spécifique sur votre machine. Imaginons que vous désiriez travailler avec des **dotfiles** et que vous récupériez un **dotfiles** avec la commande ''%%ghq get https://github.com/mathiasbynens/dotfiles.git%%''. Et que maintenant vous voulez également travailler sur votre **dotfiles**, pas besoin de se poser la question où vous alliez cloner votre projet, il vous suffit d’exécuter ''%%ghq get https://github.com/badele/dotfiles.git%%''. Après l’exécution de cette commande, la structure des projets sera organisée de manière claire dans votre répertoire **ghq**. De plus, lors de collaborations en équipe impliquant le partage de scripts utilisant des projets clonés, il n’est pas nécessaire de spécifier des chemins spécifiques tels que ''%%/usr/local/nosprojets/xxx%%''. Il suffit par exemple d’exporter une variable, comme ''%%TEAM_PROJECT=~/ghq%%'', pour toute l’équipe et d’utiliser cette référence dans vos scripts. Ainsi, vous pouvez utiliser ''%%$TEAM_PROJECT/mateam/monprojet/bin/monexecutable%%'' dans vos scripts, assurant une cohérence dans l’accès aux ressources partagées. tree └─ ~/ghq └─ github.com ├─ mathiasbynens │ └─ dotfiles └─ badele └─ dotfiles ====== Démo ====== {{:l_atelier:demo-ghq.gif|}} ====== script ====== Output demo-ghq.gif Require nix-shell Set TypingSpeed 75ms Set FontSize 12 Set Width 800 Set Height 680 Hide Type "nix-shell -p ghq tree --run zsh" Sleep 500ms Enter Sleep 2s Type "reset" Sleep 500ms Enter Sleep 2s Show Type "tree -d -L 6 ~/ghq" Sleep 500ms Enter Sleep 2s Type "ghq get https://github.com/mathiasbynens/dotfiles.git" Sleep 500ms Enter Sleep 2s Type "tree -d -L 6 ~/ghq" Sleep 500ms Enter Sleep 2s Type "ghq get https://github.com/badele/dotfiles.git" Sleep 500ms Enter Sleep 2s Type "tree -d -L 6 ~/ghq" Sleep 500ms Enter Sleep 2s Sleep 5s ===== Sources ===== * [[:CharteIA]] * openai * Reformulation des phrases * Correction des fautes d’orthographes