Forker un projet GitLab : Comment copier un dépôt
C'est quoi un Fork et pourquoi l'utiliser ?
Dans le monde du développement collaboratif, vous n'avez pas toujours le droit de modifier directement le code des autres. Imaginez que vous trouvez un projet Open Source génial sur GitLab et que vous voulez y ajouter une fonctionnalité. Vous ne pouvez pas simplement faire un "push" sur le dépôt de l'auteur original car vous n'avez pas les permissions.
C'est là qu'intervient le Fork de projet. Pour bien comprendre, utilisez cette analogie simple : imaginez que le projet original est un livre dans une bibliothèque. Vous ne pouvez pas écrire dedans. Faire un fork, c'est comme passer le livre à la photocopieuse. Vous repartez avec votre propre exemplaire exact du livre. Vous pouvez maintenant gribouiller dedans, déchirer des pages ou en ajouter de nouvelles sans jamais abîmer l'original.
Information
Un Fork reste lié au projet original. Cela vous permet plus tard de proposer vos modifications à l'auteur initial via une Merge Request ou de mettre à jour votre copie si l'original évolue.
Les étapes pour forker un projet
Le processus se passe entièrement sur l'interface web de GitLab. C'est une opération rapide qui crée un nouveau dépôt GitLab sous votre propre nom d'utilisateur.
Lancer le Fork
Rendez-vous sur la page du projet que vous souhaitez copier. En haut à droite de l'interface, vous trouverez un bouton nommé Fork. Cliquez dessus pour démarrer le processus.
"Le bouton Fork permet de copier le projet dans votre espace personnel"
Choisir l'emplacement
GitLab va vous demander où vous voulez placer cette copie. En général, vous choisirez votre propre nom d'utilisateur ou un groupe dont vous faites partie. Cliquez sur l'espace de destination souhaité.
Traitement de la copie
GitLab commence alors à dupliquer tous les fichiers, l'historique des commits et les branches. Cette opération peut prendre quelques secondes selon la taille du projet.
"Patience, GitLab prépare votre exemplaire personnel du code"
Confirmation de réussite
Une fois terminé, GitLab vous redirige vers la page de votre nouveau projet. Vous remarquerez que le nom du projet est précédé de votre identifiant. Un message de succès confirme que le Fork GitLab est terminé.
Et après le Fork ?
Maintenant que vous avez votre propre copie, vous pouvez la cloner sur votre ordinateur exactement comme nous l'avons fait pour votre premier projet.
git clone git@gitlab.com:votre-nom/projet-forke.git
Résultat :
Cloning into 'projet-forke'...
remote: Enumerating objects: 150, done.
remote: Counting objects: 100% (150/150), done.
Receiving objects: 100% (150/150), 45.20 KiB | 1.20 MiB/s, done.
Toutes les modifications que vous ferez ici n'impacteront pas le projet de l'auteur original. Vous avez une liberté totale pour expérimenter !
Conclusion
Le Fork est l'outil indispensable de la collaboration moderne. Il permet de contribuer à des milliers de projets sans avoir besoin de permissions spéciales au départ. C'est la porte d'entrée idéale pour participer à la communauté du logiciel libre.
Maintenant que vous savez copier un projet entier, nous allons voir comment organiser votre travail à l'intérieur de celui-ci en créant des Branches Git. C'est ce que nous allons découvrir dans le prochain chapitre.
Espace commentaire
Écrire un commentaire
Rejoignez la discussion
Vous devez être connecté pour poster un message.
22 commentaires
N'oublie pas de créer une branche avant de commencer à coder, sinon tu vas polluer ta branche
main.Vérifie tes permissions
~/.ssh/id_rsa. Si elles sont trop ouvertes, ton agent SSH refusera la clé.Le
git cloneavec SSH demande toujours mon mot de passe, alors que j'ai mis ma clé. Une astuce ?Non, GitLab ne permet qu'un seul fork par espace utilisateur. Tu auras une erreur 409 si tu réessayes.
Est-ce que je peux forker plusieurs fois le même projet ?
C'est anormal. GitLab duplique tout, y compris l'historique. Tente un
git pull --allsur ton local pour forcer la synchro.J'ai fait le fork, mais je ne vois pas l'historique des commits. C'est normal ?
Oui, mais ton fork sera aussi privé. Tu ne pourras pas faire de Merge Request publique vers l'original.
On peut forker un projet privé ?
Probablement. Si le projet est dans un groupe avec des paramètres de visibilité restreints, le fork peut être désactivé par l'admin.
Le bouton Fork est grisé pour moi, je ne peux pas cliquer dessus. Une restriction de groupe ?
Merci, ça a débloqué mon install.
Désactive la vérification SSL temporairement pour voir si c'est ça, mais à ne jamais faire en prod :
Même problème ici, ça bloque sur le
git clone.Je suis sur Windows avec Git Bash, j'ai une erreur de certificat SSL au moment du clone. Une idée ?
Il faut ajouter l'original comme remote upstream :
Comment je fais pour récupérer les mises à jour de l'auteur original après avoir forké ?
Bien vu, j'avais gardé l'URL du repo parent. C'est corrigé.
Tu as bien cloné TON fork et pas l'original ? Vérifie ton remote avec
git remote -v. Si tu pointes vers le dépôt d'origine, tu ne pourras jamais push.Top le guide. Par contre, après le
git clone, je n'arrive pas à push mes modifs. Permission denied.C'est rare mais ça arrive si GitLab est chargé. Vérifie ton dashboard
/dashboard/projects. Si le dépôt est vide, supprime le fork et recommence.J'ai cliqué sur le bouton Fork, mais le projet n'apparaît pas dans mon espace. Ça fait 10 minutes que ça tourne.