Dans Git,ramificationest un mécanisme puissant qui vous permet de vous écarter de la ligne de développement principale, par exemple, lorsque vous deveztravailler sur une fonctionnalité, ou geler un certain état d'une base de code pour une version, etc.
Dans PyCharm, toutes les opérations avec des branches sont effectuées dans leBranches Gitsurgir. Pour l'invoquer, cliquez sur le widget Git dans la barre d'état (il affiche le nom de la branche actuellement extraite) :

Vous pouvez également gérer des branches et effectuer des opérations par lots avec plusieurs branches dans leVolet Branchesde laGitefenêtre d'outils.
Créer une nouvelle branche
Créer une nouvelle branche à partir de la branche actuelle
Dans leBranchespopup, choisissezNouvelle brancheou cliquez avec le bouton droit sur la branche actuelle dans leBranchesvolet de laGitefenêtre d'outil et choisissezNouvelle succursale à partir de 'nom de la succursale'.
Dans la boîte de dialogue qui s'ouvre, spécifiez le nom de la branche et assurez-vous queSuccursale de paiementL'option est sélectionnée si vous souhaitez basculer vers cette branche.
Une fois que vous commencez à taper un nom pour votre nouvelle branche, PyCharm vous proposera des préfixes pertinents basés sur les noms des branches locales existantes.
La nouvelle branche commencera à partir de la branche actuelle HEAD.
Créer une nouvelle branche à partir de la branche sélectionnée
Dans leBranchespopup ou dans leBranchesvolet de laGitefenêtre de l'outil sélectionnez une branche locale ou distante à partir de laquelle vous souhaitez démarrer une nouvelle branche et choisissezNouvelle succursale à partir de la sélection.
Dans la boîte de dialogue qui s'ouvre, spécifiez le nom de la branche et assurez-vous queSuccursale de paiementL'option est sélectionnée si vous souhaitez basculer vers cette branche.
Créer une nouvelle branche à partir du commit sélectionné
Dans leAffichage du journal, sélectionnez le commit que vous souhaitez utiliser comme point de départ pour la nouvelle branche et choisissezNouvelle branchedepuis le menu contextuel.
Dans la boîte de dialogue qui s'ouvre, spécifiez le nom de la branche et assurez-vous queSuccursale de paiementL'option est sélectionnée si vous souhaitez basculer vers cette branche.
Renommer les branches
Dans leBranchespopup ou dans leBranchesvolet de laGitefenêtre outil, sélectionnez la branche que vous souhaitez renommer et choisissezRenommer.
Dans la boîte de dialogue qui s'ouvre, remplacez le nom de la branche par celui dont vous avez besoin.
(Video) Comprendre Git (7/18) : Les branches
Marquer les succursales comme favoris
Si vous avez de nombreuses succursales, vous voudrez peut-être ne voir que vos préférées. Leprincipalbranche est marquée comme favorite par défaut. Les branches favorites sont toujours affichées en haut de laBranchespopup et dans leBranchesvolet de laGitefenêtre d'outils.
Pour marquer une branche comme favorite, dans leBranchespopup, placez le curseur de la souris sur le nom de la branche et cliquez sur le contour en étoile qui apparaît à gauche :
Vous pouvez également sélectionner la branche que vous souhaitez marquer comme favorite et appuyer surEspace.
Vous pouvez également sélectionner une succursale dans leBranchesvolet de laGitefenêtre d'outils et cliquez sur
dans la barre d'outils.
Regrouper les branches par préfixe
Dans leBranchespopup, PyCharm regroupe automatiquement les branches par préfixe et les stocke dans des listes extensibles.

Pour que les branches soient regroupées, les préfixes dans les noms des branches doivent être séparés par des barres obliques/. Par exemple,janedoe/fonctionnalité/932
.
Si vous ne souhaitez pas que vos branches soient regroupées par préfixe, cliquez sur le Paramètresicône dans le coin supérieur droit de laBranchespopup puis désélectionnezGrouper par préfixepossibilité de le désactiver.

Vérifier les branches (git-checkout)
Si vous souhaitez travailler sur une branche créée par quelqu'un d'autre, vous devez l'extraire pour créer une copie locale de cette branche.
Pour vous assurer d'avoir une liste complète des succursales distantes, cliquez surAller chercher dans leBranchessurgir:

Découvrez une succursale en tant que nouvelle succursale locale
Dans leBranchespopup ou dans leBranchesvolet de laGitefenêtre d'outils, sélectionnez une branche que vous souhaitez extraire localement à partir deSuccursales éloignées, ouSuccursales distantes communessi votre projet a plusieurs racines etcontrôle de branche synchroneest activé, ou à partir deRéférentiels | Succursales éloignéess'il est désactivé.
ChoisirVérifierde la liste des actions.
Une nouvelle branche locale sera créée, extraite et configurée pour suivre la branche distante d'origine.
Il peut arriver que vous ayez déjà une succursale locale portant le même nom qu'une succursale distante que vous souhaitez consulter. Selon la situation, voici comment vous pouvez terminer le processus de paiement :
Si aucun commit n'est perdu et que la branche locale suit déjà la branche distante, PyCharm réinitialise automatiquement la branche locale sur la branche distante, puis la vérifie.
Si la branche locale contient des commits qui peuvent être perdus à cause de la réinitialisation, PyCharm vous proposera de :
Supprimer les commits locaux : PyCharm supprimera vos commits locaux, réinitialisera la branche locale et modifiera le suivi.
Rebaser sur Remote : PyCharm rebasera votre branche locale sur la branche distante, conservera vos commits locaux, réinitialisera la branche locale et modifiera le suivi.
Basculer entre les succursales
Quandmultitâche, vous devez souvent passer d'une branche à l'autre pour valider des modifications sans rapport.
Dans leBranchespopup ou dans leBranchesvolet de laGitefenêtre d'outils, sélectionnez la branche vers laquelle vous souhaitez basculer sousSuccursales localeset choisissezVérifierdans la liste des opérations disponibles.
Pour les projets multi-référentiels, les branches sont automatiquement regroupées par référentiels. Pour vérifier la branche nécessaire, dans leBranchespopup, choisissez d'abord le référentiel.
Ce qui se passe ensuite dépend s'il existe des conflits entre vos modifications locales que vous n'avez pas encore validées et la branche que vous allez vérifier :
Si votre arbre de travail est propre (cela signifie que vous n'avez pas de modifications non validées) ou si vos modifications locales n'entrent pas en conflit avec la branche spécifiée, cette branche sera extraite (une notification apparaîtra dans le coin inférieur droit de la fenêtre PyCharm ).
Si vos modifications locales vont être écrasées par l'extraction, PyCharm affiche une liste de fichiers qui vous empêchent d'extraire la branche sélectionnée et vous suggère de choisir entreForcer le paiementetPaiement intelligent.
Si vous cliquezForcer le paiement, vos modifications locales non validées seront écrasées et vous les perdrez.
Si vous cliquezPaiement intelligent, PyCharmétagèremodifications non validées, consultez la branche sélectionnée, puis annulez les modifications. Si un conflit survient pendant l'opération de désétagère, vous serez invité à fusionner les modifications. Pour plus de détails, voirRésoudre des conflits.
Comparer les succursales
Comparer une branche avec la branche actuelle
Si vous voulez vérifier comment une branche a divergé de la branche actuelle, vous pouvez les comparer.
DuBranchespopup ou depuis leBranchesvolet de laGitefenêtre outil, sélectionnez la branche que vous voulez comparer avec la branche actuelle, et choisissezComparer avec Actuel.
Un nouvel onglet sera ajouté à laGitefenêtre d'outil répertoriant tous les commits qui existent dans la branche sélectionnée et qui n'existent pas dans la branche actuelle.
Vous pouvez cliquer sur leÉchanger des succursaleslien pour changer quelle branche est considérée comme une base à laquelle vous comparez l'autre branche.
Pour voir une liste de tous les fichiers qui sont différents dans les deux branches, cliquez surContrôle + A: leVolet Fichiers modifiéslistera tous les fichiers qui contiennent des différences.
Comparer une branche avec l'arbre de travail
Outre la comparaison d'une branche avec la branche actuelle, vous pouvez la comparer à l'état local de la branche actuelle. Ceci est utile si vous avez des modifications locales non validées.
DuBranchespopup ou depuis leBranchesvolet de laGitefenêtre d'outils, sélectionnez la branche que vous voulez comparer avec l'arbre de travail local, et choisissezAfficher les différences avec l'arborescence de travail.
LeChangementsLa fenêtre de l'outil qui s'ouvre affiche une liste de tous les fichiers qui sont différents dans la branche sélectionnée par rapport à la branche actuellement extraite :
Les fichiers qui existent dans la branche sélectionnée et qui manquent dans la branche actuelle sont marqués en gris.
Les fichiers qui existent dans la branche actuelle mais qui manquent dans la branche sélectionnée sont marqués en vert.
Les fichiers qui contiennent des différences entre la branche sélectionnée et la branche actuelle sont marqués en bleu.
Vous pouvez cliquer sur leÉchanger des succursaleslien pour changer quelle branche est considérée comme une base à laquelle vous comparez l'autre branche.
Pour passer en revue les différences au sein d'un fichier spécifique, sélectionnez-le et cliquez sur
dans la barre d'outils ou appuyez surContrôle+D.
Pour appliquer tout le contenu du fichier à la branche actuelle, cliquez sur
(voirAppliquer des fichiers séparéspour plus de détails).
(Video) [Git 4/6] - Les branches
Regardez cette vidéo pour mieux comprendre comment comparer les modifications apportées à votre branche :
Supprimer des succursales
Après avoirintégré les changementsd'une branche de fonctionnalité à la ligne principale de développement, vous pouvez supprimer la branche dont vous n'avez plus besoin.
Découvrez une branche que vous allez utiliser pour d'autres travaux.
Dans leBranchespopup ou depuis leBranchesvolet de laGitefenêtre de l'outil, cliquez avec le bouton droit sur la branche que vous souhaitez supprimer et choisissezSupprimer.
Après avoir supprimé une branche, une notification s'affichera dans le coin inférieur droit à partir de laquelle vous pourrez restaurer la branche supprimée :

Si la branche contenait des commits qui n'ont pas encore été fusionnés à sa branche amont ou à la branche courante, elle sera quand même supprimée immédiatement (équivalent aubranche git --D
oubranche git --delete --force
commande), mais la notification contiendra également un lien vous permettant de visualiser les commits non fusionnés.
Si la branche supprimée suivait une branche distante, il y aura également un lien dans cette notification pour supprimer la branche distante.
Configurer le contrôle de branche synchrone
Si vous avez un référentiel multiracine, vous pouvez configurer PyCharm pour effectuer toutes les opérations de branche (telles que l'extraction, la fusion, la suppression, etc.) simultanément sur toutes les racines comme s'il s'agissait d'un seul référentiel.
PresseContrôle+Alt+Spour ouvrir les paramètres IDE et sélectionnezContrôle des versions | Gite.
Sélectionnez leExécuter des opérations de branche sur toutes les racinesoption (notez que cette option n'est disponible que si votre projet a plusieurs racines).
Si une opération échoue au moins dans l'un des référentiels, PyCharm empêche les branches de diverger en vous suggérant de revenir en arrière sur cette opération dans les référentiels où elle a réussi.
Dernière modification : 21 juin 2023
Examiner les changements dans le référentiel Git Appliquer les modifications d'une branche Git à une autre
FAQs
How do I list branches in git? ›
- To see local branches, run this command: git branch.
- To see remote branches, run this command: git branch -r.
- To see all local and remote branches, run this command: git branch -a.
- Open a Git BASH window or Command Window in the root of your Git repository.
- If necessary, use the git switch or checkout command to move off the branch you wish to delete.
- Issue the git branch --delete <branchname> ...
- Run the git branch -a command to verify the local Git branch is deleted.
- git branch | grep -v "main" | xargs git branch -D.
- git branch | grep -v " main$" | xargs git branch -D.
- Command #1: git branch -r. This Git command will show you remote branches. ...
- Command #2: git ls-remote --heads. This Git command returns the same information, but also includes the hash for these remotes. ...
- Command #3: git ls-remote. ...
- Command #4: git show-branch -r.
- git fetch --all.
- git pull --all.
- git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done.
To delete a branch locally, we can use the Git bash application or a Command Window in the root of the Git repository. We can use the git branch --delete "branch-name" command to delete the branch.
How do I delete local and remote branches? ›In this article, we've explored how to delete Git's local and remote branches using commands. Let's summarize them quickly: Delete a local branch: git branch -d/-D <branchName> (the -D option is for force deletion) Delete a remote branch: git push origin -d <branchName> or git push origin :<branchName>
How to delete multiple branches in git? ›- Step 1: Redirect to Desired Repository. At first, navigate to the particular repository by running the provided command: ...
- Step 2: View Local Branches List. ...
- Step 3: Delete Multiple Branches. ...
- Step 4: Ensure Deleting Procedure.
- git push origin --delete <branch>
- git push origin -d <branch>
To delete local branches, you can use the git branch command with the -d or -D option. The -d option will delete a branch only if it is already merged with its upstream branch (the branch that it is tracking on the remote repository). The -D option will force delete a branch regardless of its merge status.
How do I delete all commits and branches? ›
- Create a new branch. git checkout --orphan latest_branch.
- Add all the files. git add .
- Commit the changes. git commit -m "commit message"
- Delete the branch. git branch -D main.
- Rename the current branch to main. git branch -m main.
- Finally, force update your repository. git push -f origin main.
To view your remote branches, simply pass the -r flag to the git branch command. You can inspect remote branches with the usual git checkout and git log commands. If you approve the changes a remote branch contains, you can merge it into a local branch with a normal git merge .
How do I track a different remote branch? ›A local branch can track a remote branch using git-branch with long option --set-upstream-to= or short option -u . The command sets up branchname 's tracking information. If no branchname is specified, then it defaults to the current branch.
What is the git checkout command? ›The git checkout command lets you navigate between the branches created by git branch . Checking out a branch updates the files in the working directory to match the version stored in that branch, and it tells Git to record all new commits on that branch.
How do I know which branch I branched from? ›In general it is not possible to determine the branch or commit that a particular new branch was created from. The reason is that a branch is just a label that references a specific commit based on its commit ID. This label moves forward each time Git records a new commit on the branch.
How to view all branches in git extensions? ›Right click on "Branches" in the left branch menu and click on "Expand all". This will show all remotes in the GUI.
How to list local branches with date in git? ›- Use git branch --sort=-committerdate to display a list of all local branches and sort them based on the date of their last commit.
- Use arrow keys to navigate, press Q to exit.