ghorg est un logiciel en ligne de commande pour automatiser la copie de dépôts git. Il permet de cloner tous les dépôts d’un compte ou d’un groupe sur les plateformes GitHub, GitLab, Bitbucket ou Gitea en utilisant leur API.
C’est un excellent outil pour faire une sauvegarde du contenu de nos projets de développement.
Il est disponible pour Windows, MacOS (via Homebrew) et Linux. Il est aussi disponible sous forme de conteneurs Docker.
Voici un exemple d’utilisation avec GitLab.
Configuration de ghorg
Le logiciel se configure avec un fichier situé à cet endroit: $HOME/.config/ghorg/conf.yaml
Voici les principales variables à configurer
GHORG_SCM_TYPE
: le type de dépôt (gitlab
,github
,bitbucket
ougitea
)GHORG_ABSOLUTE_PATH_TO_CLONE_TO
: le chemin où cloner les différents dépôtsGHORG_CLONE_TYPE
: type de compte (org
, pour un groupe ouuser
, pour un compte personnel)GHORG_SCM_BASE_URL
: URL de base du dépôt (seulement le domaine avec https://)GHORG_CLONE_WIKI
: Mettre àtrue
si tu utilises aussi la fonctionnalité wiki des dépôts.GHORG_FETCH_ALL
: Télécharger toutes les branches en mettant àtrue
.GHORG_GITHUB_TOKEN
,GHORG_GITLAB_TOKEN
,GHORG_GITEA_TOKEN
ouGHORG_BITBUCKET_OAUTH_TOKEN
: le jeton API pour accéder au dépôt
Avec GitLab, tu peux aussi préciser de garder l’arborescence des groupes et sous-groupes avec GHORG_PRESERVE_DIRECTORY_STRUCTURE
à true
.
Tu as plusieurs dépôts ?
Si tu as plusieurs dépôts différents, tu peux te créer un fichier de configuration pour chacun, puis le copier dans $HOME/.config/ghorg/conf.yaml avant de cloner.
Par exemple, j’ai un fichier pour mon instance personnelle de GitLab, situé à $HOME/.config/ghorg/conf-gitlab-jevalideca.yaml. Pour le copier, j’utilise la commande suivante
cp $HOME/.config/ghorg/conf-gitlab-jevalideca.yaml $HOME/.config/ghorg/conf.yaml
J’utilise ensuite la commande ghorg suivante pour cloner tous les projets faisant partie du groupe partage dans le répertoire que j’ai précisé dans le fichier de configuration à la variable GHORG_ABSOLUTE_PATH_TO_CLONE_TO
ghorg clone partage
Une autre option est de tout spécifier dans l’appel de la commande au lieu d’utiliser le fichier de configuration. Tout paramètre passé directement à ghorg remplace le contenu du fichier de configuration.
Conclusion
ghorg permet de faire rapidement une sauvegarde de tous les projets dans git. Je t’invite à l’essayer sans plus attendre !
Visite le site officiel avec tous les détails pour l’installation.
Aller plus loin avec git ?
Tu aimerais découvrir tout le potentiel de git pour ton entreprise, même au delà du code ? J’ai eu vent que les professionnels de la rédaction et les juristes aimaient beaucoup utiliser git pour leurs textes !