Gestion de projet avec Git et GitLab
1. Introduction
L’objectif de ce tutoriel est de vous familiariser avec le flux de travail concret de Git et Gitlab pour la gestion de projet informatiques.
1.1. Rappel rapide sur Git et GitLab
Dans ce tutoriel, nous allons travailler avec Git et GitLab.
Git est un système de gestion de version : il vous permet de suivre l’évolution de votre projet sur votre ordinateur, de revenir à des versions précédentes et de gérer vos modifications.
Pour collaborer avec d’autres, il est nécessaire de publier votre projet sur un dépôt distant, hébergé sur un serveur. Les plateformes comme GitHub ou GitLab sont couramment utilisées pour celà. Aussi appelée forges, ces plateformes permettent de facilité la gestion de projet globale grâce à des fonctionnalitées diverses : gestion de tiket, intégrations continue,…
Dans ce tutoriel, vous utiliserez le GitLab de l’université comme serveur de dépôt distant pour votre projet. Cela vous permettra de partager vos modifications, gérer des tickets et suivre le travail de chacuns de vos camarades de projet.
2. Configuration Git 💻
Avant toute chose il est nécessaire de vérifier, que vous ayez bien configurer Git. Avec les commandes suivantes vous pourrez modifier votre identité Git. Il est important de bien spécifier votre mail universitaire pour que nous puissions savoir qui sont les auteurs des différents commit du projet.
git config --global user.name "Prénom Nom"
git config --global user.email "prenom.nom@etu.univ-nantes.fr"
| Cette étape est à refaire chaque fois que vous changer d’environement de developpement : si vous changer de pc pour coder chez vous par exemple. |
3. Créer un ticket sur Gitlab ☁️
Connectez vous maintenant sur le GitLab de l’université et allez sur la page de votre dépôt de projet.
-
Sur la barre latérale, cliquez sur Issues > New issue
-
Ajoutez un titre et une description.
-
Cliquez sur Create issue pour valider la création de l'issue et notez son ID : ce sera #1 si c’est la première issue du projet que vous créez.
Par défaut l'issue vous est assignée mais vous pouvez l’assigner à quelqu’un d’autre en cliquant sur Edit dans la partie Assignee à droite de l’écran.
| Lorsque vous collaborer sur un même projet, il est important de réfléchir en amont aux différentes tâches que vous aller devoir éffectuer. Le système d’issues de GitLab vous permet de garder une trâce du travail qui reste ou à été effectué et de partager vos difficultées avec vos cammarades. |
4. Préparer l’environement de développement local 💻
Maintenant, clonez le projet sur votre machine et déplacer vous à la racine.
Attention, ne commencez jamais à travailler directement sur la branche main.
Créez plutôt une branche par fonctionnalité, en attribuant une branche à chaque étudiant.
Cela permettra de garder la branche principale stable et d’éviter de nombreux problèmes de conflits.
|
-
Pour créer et vous positionner sur la nouvelle branche de travail faites :
git checkout -b <ma-super-nouvelle-branche>
5. Modifier le code et faire son commit 💻
Pour ce tutoriel, vous allez modifier ou ajouter le fichier README.md à la racine du projet.
-
Une fois vos modifications effectuées, vous pouvez vérifier l’état de votre dépôt avec la commande :
git status
Vous devriez voir le fichier README.md en rouge, indiquant qu’il a été modifié.
-
Pour ajouter ce fichier à l’index (staging area), utilisez la commande :
git add README.md
-
Pour faire le commit, utilisez la commande ci-dessous, modifiez le nom du commit si nécessaire et remplacez
<ID de l’issue>par l’ID de l’issue que vous avez créée précédemment (exemple : #1).
git commit -m "docs: mise à jour du README"
Notez aussi que vous pouvez ajouter plusieurs lignes de détails en utilisant plusieurs fois l’option -m.
|
6. Vérifier sur Gitlab ☁️
Avant de pousser vos modifications, vous pouvez vérifier que l'issue a bien été créée et qu’elle est toujours ouverte. Pour celà, allez dans la section Issues de votre dépôt GitLab. Vous devriez voir l'issue que vous avez créée précédemment avec le statut Open.
7. Pousser les modifications sur Gitlab 💻
Retournez maintenant sur votre terminal pour pousser vos modifications sur le dépôt distant, utilisez la commande suivante :
git push origin <ma-super-nouvelle-branche>
Si c’est la première fois que vous poussez cette branche Git devrait automatiquement créer la nouvelle branche sur le dépôt distant, lors du prochain git push Git vous demandera peut-être de définir la branche distante en utilisant :
|
git push --set-upstream origin <ma-super-nouvelle-branche>
8. Créer une Merge Request sur Gitlab et fermer l’issue ☁️
Votre travail étant maintenant terminé, vous allez maintenant vouloir fusionner votre branche de travail avec la branche principale main.
Pour celà, allez dans la section Merge Requests et cliquez sur New merge request.
- Sélectionnez votre branche de travail comme source et main comme cible.
- Cliquez sur Compare branches and continue.
- Ajoutez un titre et une description pour la merge request : afin d’automatiser la fermeture de l'issue liée à cette merge request, ajoutez Closes #<ID de l’issue> dans le titre ou la description de la merge request (exemple : Closes #1).
- Cliquez sur Create merge request pour valider la création de la merge request.
| Une merge request (MR) est une demande de fusion de votre branche de travail avec la branche principale du projet. Elle permet aux autres membres de l’équipe de revoir vos modifications avant qu’elles ne soient intégrées au projet principal. |
9. Fusionner la Merge Request sur Gitlab ☁️
Pour fusionner la merge request, allez dans la section Merge Requests et ouvrez la merge request que vous venez de créer.
- Cliquez sur Merge pour fusionner votre branche de travail avec la branche principale main.
- Une fois la fusion effectuée, vérifiez que l'issue liée est bien fermée.
10. Mettre à jour la branche principale en local 💻
Pour mettre à jour votre branche principale main en local avec les dernières modifications de la branche distante, utilisez les commandes suivantes :
git checkout main
git pull origin main
| Il est important de toujours mettre à jour vos branches locales avant de commencer une nouvelle tâche pour éviter les conflits. |
11. Conclusion
Vous avez maintenant une compréhension de base du flux de travail avec Git et GitLab pour la gestion de projet. N’hésitez pas à explorer davantage les fonctionnalités de GitLab et à pratiquer le flux de travail avec vos camarades de projet.
12. Ressources supplémentaires
Pour aller plus loin, voici quelques ressources supplémentaires : - [Documentation officielle de Git](https://git-scm.com/doc) - [Documentation officielle de GitLab](https://docs.gitlab.com/) - [Guide de style pour les messages de commit](https://chris.beams.io/posts/git-commit/)