Comment importer un dépôt externe¶
Quand utiliser ce guide¶
Utilise ce guide quand tu veux :
- Migrer un dépôt depuis GitHub, GitLab ou tout autre forge Git vers gitrust
- Copier un dépôt public accessible en HTTPS sans avoir à le cloner/pousser manuellement
- Suivre la progression d'un import en cours
- Diagnostiquer un import qui échoue (timeout, dépôt trop volumineux)
Pré-requis¶
- Un compte gitrust actif
- L'URL HTTPS publique du dépôt source (ex.
https://github.com/owner/repo.git) - Le dépôt source accessible sans authentification (ou les credentials si privé)
Étapes¶
1. Ouvrir le formulaire d'import¶
Navigue vers /import dans ton navigateur.
Le formulaire d'import apparaît.

2. Remplir le formulaire¶
- URL du dépôt source : l'URL HTTPS du dépôt à importer (ex.
https://github.com/torvalds/linux.git) - Nom du dépôt cible : le nom que le dépôt aura dans gitrust (rempli automatiquement depuis l'URL, modifiable)
- Visibilité : Public ou Privé
- Credentials (si dépôt privé) : nom d'utilisateur + mot de passe ou token du service source
Clique Lancer l'import.
3. Suivre la progression¶
gitrust crée un job d'import asynchrone et te redirige vers /imports/{id}.
La page affiche la progression en temps réel via SSE (Server-Sent Events) :
Connexion au dépôt source…
Récupération des objets : 100% (1234/1234)
Résolution des deltas : 100% (456/456)
Import terminé avec succès.
Les statuts possibles :
| Statut | Signification |
|---|---|
| En attente | Job en file d'attente |
| En cours | Clonage en cours, logs en direct |
| Réussi | Dépôt disponible sur gitrust |
| Échoué | Voir les logs pour la cause |
| Annulé | Import annulé manuellement |
4. Accéder au dépôt importé¶
Une fois le statut Réussi, clique sur le lien vers le dépôt dans l'interface. Le dépôt est disponible à /{tonpseudo}/{nom-depot} avec tout l'historique Git préservé.
5. Annuler un import en cours¶
Si l'import prend trop longtemps ou a été lancé par erreur, clique Annuler sur la page /imports/{id}.
Variantes¶
Dépôt privé avec token¶
Pour importer un dépôt privé depuis GitHub, utilise un token GitHub dans le champ Credentials :
- Nom d'utilisateur : ton pseudo GitHub
- Mot de passe : ton Personal Access Token GitHub (pas ton mot de passe GitHub)
Le token n'est jamais stocké par gitrust après la fin de l'import.
Importer un dépôt volumineux¶
gitrust impose un timeout par défaut sur les imports. Pour les dépôts très volumineux (plusieurs Go), l'administrateur peut ajuster IMPORT_TIMEOUT dans la configuration de l'instance. Si l'import échoue systématiquement par timeout, cloner manuellement et pousser directement sur gitrust est une alternative :
git clone --mirror https://github.com/owner/repo.git repo.git
cd repo.git
git remote add gitrust git@gitrust.example.com:tonpseudo/repo.git
git push gitrust --mirror
Erreurs courantes¶
| Symptôme | Cause probable | Correction |
|---|---|---|
Connexion refusée ou timeout |
URL inaccessible depuis le serveur gitrust (firewall, dépôt supprimé) | Vérifie que l'URL est accessible depuis un navigateur. Signale à l'administrateur si le serveur gitrust est derrière un proxy |
Authentification échouée |
Credentials incorrects ou token expiré | Vérifie le token source. Pour GitHub, génère un nouveau PAT avec le scope repo |
Dépôt trop volumineux |
Dépassement de la taille limite configurée | Contacte l'administrateur pour ajuster la limite, ou utilise l'import miroir manuel décrit ci-dessus |
| L'import reste en statut En attente longtemps | File d'attente saturée ou worker d'import non démarré | Rafraîchis la page. Si le problème persiste, contacte l'administrateur |
Voir aussi¶
- Tutoriel 02 — Cloner et pousser : pousser manuellement du code sur un dépôt gitrust
- Modèle de permissions : droits nécessaires pour créer un dépôt