Découvrez le branching avec Bitbucket Cloud
Objectif
Ce tutoriel vous apprendra les bases de la création, de l'utilisation, de la revue et du merge de branches à l'aide de Git et de Bitbucket Cloud.
Durée | Public | Prérequis |
---|---|---|
35 minutes | Vous comprenez déjà le workflow Git de base | Vous avez installé Git |
Vous possédez un compte Bitbucket |
Ce tutoriel est fait pour vous si vous maîtrisez déjà le workflow Git de base et les opérations suivantes :
- Cloner : copier le dépôt distant dans Bitbucket Cloud dans votre système local.
- Ajouter ou stager : prendre les changements apportés et les préparer pour les ajouter à votre historique Git.
- Commiter : ajouter de nouveaux fichiers ou des fichiers modifiés à l'historique Git pour le dépôt.
- Faire un pull : obtenir les nouveaux changements ajoutés au dépôt par d'autres personnes dans votre dépôt local.
- Faire un push : appliquer les changements de votre système local au dépôt distant.
Si vous ne connaissez pas les principes de base de Git, pas de panique, lisez juste notre tutoriel Découvrez Git avec Bitbucket Cloud et vous serez opérationnel en un rien de temps.
Préparez-vous
Puisque nous voulons que vous ayez l'impression de travailler dans une équipe, dans un dépôt Bitbucket classique, nous vous laisserons forker un dépôt public que nous avons fourni.
- Accédez à tutorials/tutorials.git.bitbucket.org
- Cliquez sur + > Fork this repository (Forker ce dépôt) à gauche de l'écran.
- Modifiez le nom afin qu'il soit unique pour votre équipe, puis cliquez sur Fork repository (Forker le dépôt).
- Créez un répertoire pour le dépôt qui sera facile à consulter. Vous pourriez choisir quelque chose comme :
$ mkdir test-repositories $ cd test-repositories/ $ test-repositories
- Clonez le dépôt forké dans le répertoire que vous venez de créer. Vous devriez obtenir un résultat similaire à celui-ci :
$ git clone https://dstevenstest@bitbucket.org/dstevenstest/mygittutorial.bitbucket.io.git Cloning into 'mygittutorial.bitbucket.io'... remote: Counting objects: 12392, done. remote: Compressing objects: 100% (12030/12030), done. remote: Total 12392 (delta 8044), reused 564 (delta 360) Receiving objects: 100% (12392/12392), 2.72 MiB | 701.00 KiB/s, done. Resolving deltas: 100% (8044/8044), done. $ cd mygittutorial.bitbucket.io/
Créez une branche et modifiez un élément à l'aide du workflow de branching
Vous allez ajouter une citation sur votre site web dans cette branche.
- Créez une branche à l'aide de la commande git branch.
$ git branch test-1
- Consultez la branche que vous venez de créer à l'aide de la commande git checkout.
$ git checkout test-1 Switched to branch 'test-1'
- Répertoriez les branches dont vous disposez en local à l'aide de la commande git branch.
$ git branch master * test-1
- Mettez à jour le fichier editme.html en ajoutant une citation. Vous pouvez utiliser quelque chose comme :
Voici une citation que j'apprécie.
Citation : l'art de la citation - Ajoutez ce changement.
git add editme.html
- Commitez le changement avec un message de commit descriptif.
git commit editme.html -m'ajouté une citation' [test-1 063b772] ajouté une citation 1 file changed, 3 insertions(+), 3 deletions(-)
- Pushez ce changement dans Bitbucket à l'aide de la commande git push.
git push fatal: The current branch test-1 has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin test-1
- Pushez la branche et le changement à l'aide de la commande git push branch.
$ git push origin test-1 Counting objects: 3, done. Delta compression using up to 8 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 363 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: remote: Create pull request for test-1: remote: https://bitbucket.org/dstevenstest/dans.git.bitbucket.org/pull-requests/new?source=test-1&t=1 remote: To https://bitbucket.org/dstevenstest/dans.git.bitbucket.org.git * [new branch] test-1 -> test-1
- Ouvrez votre dépôt de tutoriels et cliquez sur Branches. Vous devriez voir la branche principale et la branche test-1. Le résultat devrait ressembler à ce qui suit :

Créer et fetcher une branche distante et faire un checkout
Lorsque vous travaillez en équipe, vous devrez probablement faire des pulls de branches que d'autres membres de l'équipe créent et pushent (ou fetchent dans Bitbucket). Dans cet exemple, vous découvrirez certains des fondamentaux liés à la création de branches et à l'utilisation de branches créées par d'autres.
- Accédez à votre dépôt de tutoriels dans Bitbucket et cliquez sur Branches. Vous devriez voir quelque chose comme :
- Cliquez sur Create branch (Créer une branche), nommez la branche test-2, puis cliquez sur Create (Créer).
- Copiez la commande git fetch dans la boîte de dialogue de checkout de votre branche. Le résultat devrait ressembler à ce qui suit :
$ git fetch && git checkout test-2 From https://bitbucket.org/dstevenstest/dans.git.bitbucket.org * [new branch] test-2 -> origin/test-2 Branch test-2 set up to track remote branch test-2 from origin. Switched to a new branch 'test-2'
- Utilisez la branche git branch dans votre terminal. Vous devriez voir une liste de branches similaire à celle-ci :
$ git branch master test-1 * test-2
- Utilisez la commande git status, et vous verrez quelque chose comme :
$ git status On branch test-2 Your branch is up-to-date with 'origin/test-2'. nothing to commit, working tree clean
- Utilisez la commande git checkout pour vous concentrer à nouveau sur votre autre branche. La commande ressemblera à ceci :
$ git checkout test-1 Switched to branch 'test-1' Your branch is ahead of 'origin/test-1' by 3 commits. (use "git push" to publish your local commits)
Pusher les changements et créer une pull request
Le moment est venu de revoir votre premier changement et de merger la branche.
- Cliquez sur +> Create a pull request (Créer une pull request). Vous pouvez voir votre branche test-1 comme la branche source, et la branche principale dans la branche de destination.
- Cliquez sur Create pull request (Créer une pull request).
- Faites un commentaire dans la pull request en sélectionnant une ligne du diff (la zone affichant le changement que vous avez apporté au fichier editme.html).
- Cliquez sur Approve (Approuver) en haut à gauche de la page. Bien sûr, dans une vraie pull request, vous auriez des réviseurs qui feraient des commentaires
- Cliquez sur Merge (Merger).
- (Facultatif) Mettez à jour le message de commit avec plus de détails.
- Sélectionnez la stratégie de merge Merge commit (Commit de merge) parmi les deux options :
- Merge commit (Commit de merge) : conserve tous les commits depuis votre branche source, puis les intègre à la branche de destination. Cette option équivaut à saisir git merge --no-ff dans la ligne de commande.
- Squash : combine vos commits lorsque vous mergez la source dans la branche de destination. Cette option équivaut à saisir git merge --squash dans la ligne de commande.
- Cliquez sur Commits, et vous verrez comment la branche que vous venez de merger s'intègre au système de changements plus large.
Supprimer une branche et faire un pull de master dans la branche de travail locale
Vous avez à présent parcouru le workflow de branching de base et vos changements sont dans la branche principale. Il vous reste une dernière chose à apprendre : comment supprimer la branche que vous venez de merger, faire un pull de la branche principale mise à jour et la merger dans votre branche test-2.
- Ouvrez votre terminal et exécutez la commande git status. Le résultat devrait ressembler à ceci :
$ git status On branch test-1 nothing to commit, working tree clean
- Basculez vers la branche principale en exécutant la commande git checkout master. Le résultat devrait ressembler à ce qui suit :
git checkout master Switched to branch 'master' Your branch is up-to-date with 'origin/master'.
- Exécutez la commande git pull. Le résultat devrait ressembler à ce qui suit :
$ git pull remote: Counting objects: 1, done. remote: Total 1 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (1/1), done. From https://bitbucket.org/dstevenstest/dans.git.bitbucket.org 2d4c0ab..dd424cb master -> origin/master Updating 2d4c0ab..dd424cb Fast-forward editme.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
- Exécutez la commande git branch -d {branch_name} pour supprimer la branche test-1. Le résultat devrait ressembler à ce qui suit :
$ git branch -d test-1 Deleted branch test-1 (was 063b772)
- Basculez vers la branche test-2 à l'aide de la commande git checkout.
$ git checkout test-2 Switched to branch 'test-2' Your branch is up-to-date with 'origin/test-2'.
- Mergez la branche principale dans votre branche de travail à l'aide de la commande git merge master test-2. Le résultat devrait ressembler à ce qui suit :
$ git merge master test-2 Updating 2d4c0ab..dd424cb Fast-forward editme.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
- la branche active est importante. Si vous souhaitez merger la branche principale dans la branche test-2, vous devez faire un checkout de la branche test-2 (active). Il en va de même si vous souhaitez merger la branche test-2 dans la branche principale, vous devez faire un check-out de cette branche principale.
- Pour voir quelle branche est active à tout moment, utilisez la commande git branch. La branche active sera indiquée par un astérisque. Sinon, utilisez la commande git status qui vous indiquera sur quelle branche vous vous trouvez et si des changements locaux sont en attente.
Nous espérons que vous en avez appris un peu plus sur les branches et les commandes impliquées. Passons en revue ce que nous venons de couvrir :
Examiner le workflow de création de branches
Le workflow de branche de fonctionnalité Git est un moyen efficace de travailler avec votre équipe dans Bitbucket. Dans ce workflow, le développement des fonctionnalités a lieu sur des branches distinctes de la branche principale. Par conséquent, plusieurs développeurs peuvent travailler sur leurs propres fonctionnalités sans toucher au code principal.
![]() | Commencez par la branche principaleCe workflow vous aide à collaborer sur votre code avec au moins une autre personne. Tant que Bitbucket et vos dépôts locaux sont à jour, vous êtes prêt à vous lancer. |
Créez une brancheUtilisez une branche distincte pour chaque fonctionnalité ou ticket sur lesquels vous travaillez. Après avoir créé une branche, consultez-la localement afin que les changements que vous apportez soient effectués sur cette branche. | |
Mettez à jour, ajoutez, commitez et pushez des changementsTravaillez sur la fonctionnalité et effectuez des commits comme vous le feriez d'habitude dans Git. Lorsque vous êtes prêt, faites un push de vos commits, en mettant à jour la branche de la fonctionnalité sur Bitbucket. | |
Faites réviser votre codePour obtenir un feedback sur votre code, créez une pull request dans Bitbucket. Vous pouvez ensuite ajouter des réviseurs et vous assurer que tout est prêt avant le merge. | |
Résolvez le feedbackÀ présent, les membres de votre équipe commentent et approuvent le code. Résolvez leurs commentaires localement, commitez et faites des push des changements dans Bitbucket. Vos mises à jour apparaissent dans la pull request. | |
Mergez votre brancheAvant le merge, vous devrez peut-être résoudre des conflits de merge si d'autres personnes ont apporté des changements au dépôt. Lorsque votre pull request est approuvée et ne contient plus de conflit, vous pouvez ajouter votre code à la branche principale. Ensuite, effectuez le merge depuis la pull request dans Bitbucket. |
Ce tutoriel ne montre pas en détail dans quelle mesure les branches contribuent à l'efficacité des équipes. Plusieurs approches sont proposées pour les branches, et nous en abordons certaines dans : Comparaison de workflows.