Créer une branche sur GitLab : Isoler vos développements
Pourquoi utiliser des branches ?
Dans le développement d'un logiciel, vous ne voulez jamais modifier directement le code qui fonctionne déjà très bien. Imaginez que vous travailliez sur une nouvelle fonctionnalité, mais que vous fassiez une erreur qui casse tout votre site. Si vous travaillez sur le code principal, tout s'arrête.
Le besoin est donc d'isoler votre travail. Pour bien comprendre, utilisez l'analogie de l'arbre. Le tronc représente votre code stable que l'on appelle la branche main. Créer une branche Git, c'est comme faire pousser une petite branche à côté du tronc. Vous pouvez modifier cette petite branche comme vous le souhaitez sans jamais faire tomber le tronc. Une fois que votre travail est terminé et testé, vous pourrez alors fusionner la branche avec le tronc pour ajouter votre nouveauté.
Création d'une branche via l'interface GitLab
GitLab permet de créer des branches très facilement sans même ouvrir votre terminal. C'est idéal pour préparer une tâche ou corriger un petit texte directement en ligne.
Accéder à votre projet
Connectez-vous à votre compte et rendez-vous dans la section Projects pour sélectionner le dépôt sur lequel vous voulez travailler.
"Choisissez le projet où vous souhaitez créer une nouvelle branche"
Aller dans la gestion des branches
Dans le menu de gauche, cliquez sur l'onglet Repository (Dépôt) puis sélectionnez l'option Branches. Vous verrez alors la liste des branches existantes. Cliquez sur le bouton bleu New branch en haut à droite pour accéder à la gestion des branches.
"C'est ici que vous gérez toutes les versions parallèles de votre code"
Nommer et créer la branche
Sur cet écran, vous devez donner un nom à votre branche. Essayez d'utiliser un nom court ici FirstBranch. Vous devez aussi choisir la branche de départ (souvent main). Cliquez ensuite sur Create branch.
Confirmation
Une fois l'opération terminée, GitLab vous affiche la liste mise à jour. Votre nouvelle branche apparaît maintenant et elle contient exactement le même code que la branche de départ au moment de sa création.
"Votre environnement de travail isolé est maintenant prêt"
Création d'une branche via le terminal
Même si l'interface web est pratique, le développeur préfère souvent utiliser la ligne de commande pour aller plus vite. Voici comment faire sur votre ordinateur.
Utiliser la commande switch
Pour créer une branche et basculer dessus immédiatement, vous devez utiliser la commande moderne git switch avec l'option -c.
git switch -c ma-nouvelle-feature
Résultat :
Switched to a new branch 'ma-nouvelle-feature'
Pour vérifier sur quelle branche vous vous trouvez actuellement, tapez simplement :
git branch
Résultat :
main
* ma-nouvelle-feature
Information
L'astérisque * devant le nom de la branche indique que vous travaillez actuellement sur celle-ci. Toutes les modifications que vous ferez maintenant n'impacteront pas la branche main.
Conclusion
Maîtriser les branches est indispensable pour travailler de manière propre et professionnelle. Cela vous donne le droit à l'erreur et facilite grandement le travail en équipe.
Maintenant que vous avez créé votre branche, il est temps d'y ajouter du contenu. Dans le prochain chapitre, nous allons voir comment ajouter un fichier sur GitLab et enregistrer vos premières modifications sur votre nouvelle branche.
Espace commentaire
Écrire un commentaire
Rejoignez la discussion
Vous devez être connecté pour poster un message.
26 commentaires
N'oubliez pas de toujours faire un
git pullsurmainavant de créer une nouvelle branche pour partir sur une base à jour.Vérifie ton rôle dans le projet. Tu as besoin d'être au moins Developer pour pouvoir pousser des branches sur le dépôt distant.
J'ai un souci de droits sur mon repo GitLab, je ne peux pas créer de branches depuis l'UI. Ça vient d'où ?
Le
git branchavec l'astérisque est vraiment pratique pour ne pas se tromper de cible.Absolument. Il suffit d'être sur la branche source ou de la préciser :
Est-ce qu'on peut créer une branche à partir d'une autre branche que
main?Utilise
git fetch --prunepour synchroniser ton local avec le serveur et nettoyer les références obsolètes.Comment je peux voir les branches qui ont été supprimées sur GitLab mais qui traînent encore en local ?
Merci, le
git stashm'a sauvé la mise.Tu as probablement des modifications non commitées. Fais un
git stashpour mettre tes changements de côté avant de switcher.J'ai des conflits quand je tente de revenir sur
mainaprès avoir bossé sur ma branche. Une idée ?git switchest plus récent et dédié uniquement aux branches.git checkoutfait trop de choses (restaurer des fichiers, changer de branche), il est plus sujet aux erreurs.C'est quoi la différence entre
git checkoutetgit switch?Non, GitLab ne permet pas de renommer une branche directement depuis l'interface. Tu dois le faire en local puis pousser la nouvelle et supprimer l'ancienne.
J'ai fait une erreur dans le nom de ma branche sur GitLab, je peux la renommer depuis l'interface web ?
Tu peux utiliser cette commande :
Comment on fait pour renommer une branche locale déjà existante ?
Vérifiez que vous êtes bien dans le répertoire du projet. Tapez
ls -apour voir si le dossier.gitest présent. Si non, faites ungit init.Même problème ici. J'ai l'impression que le dépôt n'est pas initialisé correctement.
Je suis sur Windows avec Git Bash. La commande
git branchne m'affiche rien, c'est normal ?Oui, évite les noms vagues. Utilise des préfixes comme
feature/,fix/ouchore/. Ça aide énormément à s'y retrouver dans les gros projets.Est-ce qu'il y a une convention de nommage recommandée pour les branches ?
C'est normal, l'option
-ctente de créer une nouvelle branche. Si elle existe déjà, utilise simplementgit switch nom-de-la-branchesans le-c.Merci pour le tuto. J'ai un souci avec
git switch -c, ça me renvoie une erreur fatal: A branch named 'ma-nouvelle-feature' already exists.Content que ça t'aide. Pour supprimer une branche locale une fois fusionnée, utilise
git branch -d nom-de-la-branche.Si elle n'est pas fusionnée et que tu veux forcer, c'est
git branch -D, mais attention aux données perdues.