Gitlab - 3.2 Configurationde la branche Gitlab part 2
Continuons cette deuxième partie sur la configuration de branche GitLab. Pour rester simple, nous allons ajouter un fichier Python très basique. Dans le terminal, on entre dans le répertoire du projet et on l'ouvre dans Visual Studio Code (l'IDE de Microsoft) en tapant code . puis Entrée. Si vous n'avez pas Visual Studio Code installé, vous pouvez le faire avec sudo snap install code --classic.
Suivre, commiter et pousser un fichier
Créons un fichier hello.py avec une simple instruction print, puis sauvegardons. La commande git status affiche l'état du répertoire de travail et de la zone de staging : elle nous montre que hello.py n'est pas suivi. On l'ajoute à la zone de staging avec git add hello.py, puis on relance git status pour vérifier qu'il est bien en attente de validation.
git add hello.py
git status
git commit -m "add hello.py file"
git push --set-upstream origin dev1
Le commit échoue d'abord car Git demande de définir un nom d'utilisateur et un email globaux. On les configure rapidement avec git config --global user.email et git config --global user.name, puis on relance le commit. Pour pousser la branche locale dev1 qui n'existe pas encore sur le serveur, on utilise l'option --set-upstream qui crée la branche distante et lie la branche locale.
git status: voir les fichiers modifiésgit add <fichier>: ajouter à la zone de staginggit commit -m "<message>": valider les modificationsgit config --global user.email/name: configurer Gitgit push --set-upstream origin dev1: créer et pousser
De retour dans l'interface GitLab, le projet contient désormais deux branches : main avec seulement le README, et dev1 avec le README et hello.py. L'étape suivante est de fusionner dev1 dans main via une merge request. Idéalement, on testerait d'abord le code via un pipeline avant de fusionner, mais nous restons ici à un niveau basique. Une option « Create merge request » apparaît après le push : on la clique, on choisit la branche source (dev1) et la branche cible (main), puis on compare les branches.
On garde le titre et la description, on décoche l'option « delete source branch » pour garder dev1 après la fusion, et on soumet la merge request. Étant connecté en tant que mainteneur du projet, j'ai le pouvoir de merger directement. Une fois mergée, le fichier hello.py est bien présent dans la branche main. C'est le premier principe CI/CD que nous appliquons : conserver un dépôt de code partagé et y intégrer régulièrement les modifications.
En résumé
Cette leçon explique comment créer et gérer une branche GitLab en utilisant Git. Elle couvre l'ajout de fichiers au staging area avec git add, la validation des changements avec git commit, la configuration de l'identité Git (email et nom d'utilisateur), le push des modifications vers le serveur GitLab, la création d'une demande de fusion (Merge Request) et enfin la fusion de la branche de développement dans la branche principale, en démontrant les principes fondamentaux du CI/CD et de l'intégration continue.
Points clés
- Utiliser git add pour ajouter les fichiers modifiés au staging area (zone de préparation) avant le commit
- Configurer les identifiants Git globaux (email et nom d'utilisateur) pour identifier l'auteur des changements
- Utiliser git commit pour valider les modifications locales avec un message descriptif
- Utiliser git push -u pour envoyer les changements vers le serveur GitLab et créer le lien de suivi avec la branche distante
- Créer une demande de fusion (Merge Request) pour proposer l'intégration des changements dans la branche principale
- Fusionner la branche de développement dans la branche principale via l'interface GitLab pour centraliser le code validé
Questions fréquentes
Pourquoi dois-je configurer mon email et mon nom avant de faire un commit ?
La configuration de l'email et du nom d'utilisateur Git permet à GitLab d'identifier qui a effectué les modifications. C'est essentiel pour le suivi des changements, l'audit et la traçabilité dans un environnement collaboratif où plusieurs développeurs travaillent sur le même projet.
Qu'est-ce qu'une demande de fusion (Merge Request) et pourquoi est-elle importante ?
Une demande de fusion est une demande formelle pour intégrer les changements d'une branche source vers une branche cible (généralement la branche principale). Elle permet un processus d'examen et de validation avant que le code soit fusionné, ce qui est un principe clé du CI/CD pour maintenir la qualité et la stabilité du code principal.
Pourquoi le push initial échoue-t-il et comment le corriger ?
Le push échoue car la branche locale n'existe pas encore sur le serveur GitLab. Il faut utiliser l'option -u avec git push (git push -u origin branche) pour créer la branche sur le serveur et établir automatiquement le lien de suivi entre la branche locale et sa contrepartie distante.