CodeGym /Cours /Python SELF FR /Travailler avec les branches git dans PyCharm

Travailler avec les branches git dans PyCharm

Python SELF FR
Niveau 12 , Leçon 3
Disponible

11.1 Branches dans git

Travailler avec les branches (branches) dans Git est un des aspects clés de la gestion de version, qui permet de gérer plusieurs lignes de développement en parallèle dans un même dépôt. Le branchement rend Git un outil puissant pour la collaboration, les expérimentations et la gestion des différentes versions d'un projet.

Vous pouvez considérer les branches dans Git comme des dossiers, où Git copie votre projet. Vous avez le dossier principal de votre projet dans votre répertoire localmaster. Git peut créer des copies de ce dossier pour que vous puissiez expérimenter sans risque d'endommager le code principal, qui fonctionne bien. Ces dossiers-copie sont appelés branchesbranches.

Les branches sont des variantes alternatives du code. Supposons que vous voulez retravailler quelque chose dans un grand projet ou mener une expérience dont vous n'êtes pas totalement certain. Que feriez-vous sans Git ?

Vous pourriez copier le projet dans un nouveau dossier et essayer de tout changer dedans. Si le résultat vous plaît, vous pouvez le copier dans le dossier principal. Si ça ne vous plaît pas, oubliez-le, voire supprimez-le.

Regardons un exemple de la vie réelle, par exemple écrire un livre :

  1. Vous avez un manuscrit du livre (branche principale).
  2. Vous décidez d'essayer de changer la fin (création d'une nouvelle branche).
  3. Vous écrivez la nouvelle fin dans un document séparé (travail dans la nouvelle branche).
  4. Si la nouvelle fin s'avère meilleure, vous remplacerez l'ancienne dans le manuscrit (fusion des branches).
  5. Vous supprimez le document avec la nouvelle fin (suppression de la branche).

11.2 Création de branches

Créer une branche dans PyCharm est très facile.

Entrez le nom de la branche.

PyCharm affichera immédiatement le nom de votre branche actuelle en haut du menu :

Qu'y avait-il avant ça ?

Auparavant, le nom de votre première et principale branche était affiché — master.

Maintenant, c'est test qui est affiché, ce qui signifie que Git (sous la direction de PyCharm) a non seulement créé une nouvelle branche, mais s'est aussi immédiatement basculé dessus.

Ajoutons du code dans le fichier main.py de la branche actuelle (test) et commettons-le.

11.3 Changement entre les branches

Étape 1. Choisir la branche.

Maintenant, faisons le switch vers notre ancienne branche. Cliquez sur le menu du haut, et que voyons-nous là ?

Pas de panique — c'est très simple :

Local — c'est la liste des branches de votre dépôt git local; il y en a deux ici :

  • test
  • master

Remote — c'est votre dépôt distant, qui se trouve sur le serveur GitHub. Nous y avons envoyé vos modifications, mais la nouvelle branche n'y est pas, ce qui est logique. Le dépôt distant s'appelle origin, et il n'y a que la branche master.

Recent — c'est la liste des noms des dernières branches sur lesquelles vous avez travaillé. Ce point a été ajouté dans PyCharm pour plus de commodité et de rapidité.

Le nom origin/master à droite du nom du dépôt local — c'est le nom du dépôt distant, avec lequel il est actuellement synchronisé, et où les changements seront envoyés.

Étape 2. — Déploiement du code de la branche dans le dossier actuel.

Étape 3. Vérification :.

Je vois la branche (master) et l'ancien code.

11.4 Fusion des branches

Essayons maintenant de combiner le code de nos deux branches.

Étape 1. Pour commencer, ajoutons à notre projet un fichier de plus — init.py et écrivons-y du code.

  • Créer le fichier init.py
  • Écrire dedans le code print("Salut")
  • Commettre le fichier.

Voici à quoi ressemblent mes deux fichiers dans la branche master :

Étape 2. Fusion des branches.

Fusionnons dans notre branche actuelle (master) les modifications faites dans la branche test.

Pour cela, nous utiliserons aussi le menu du haut et la commande «Merge ‘test’ into ‘master’».

Étape 3. Vérifions le résultat :.

Vérifions :

  • En haut, la branche master est toujours affichée
  • Nous avons deux fichiers : init.py et main.py
  • Le fichier main.py contient le code qui a été ajouté dans la branche test.

11.5 Conflits lors de la fusion

Parfois, des conflits surviennent lors de la fusion des branches.

Si vous apportez des modifications à un même fichier dans différentes branches et que vous essayez de les fusionner, cela peut créer un conflit.

Conflit de fichiers texte

Git est un système très intelligent, il comprend les types de fichiers. Si vous apportez des modifications à différents endroits des fichiers qu'il considère comme du texte, il transférera simplement les changements d'un fichier à l'autre à l'endroit approprié, comme le ferait une personne.

Conflit de fichiers binaires

Mais si vous apportez des modifications à une image ou un document, Git ne va pas essayer de fusionner leurs parties en un seul fichier, il vous proposera simplement de choisir quelle version du fichier vous souhaitez conserver dans la branche actuelle.

Résolution manuelle des conflits :

Si vous apportez des modifications au même endroit d'un fichier texte, Git ne pourra pas fusionner correctement les différentes versions et vous proposera de le faire vous-même.

Voici à quoi cela pourrait ressembler :

Que voyez-vous ici :

  • À gauche, le contenu du fichier main.py de la branche master
  • À droite, le contenu du fichier main.py de la branche test
  • Au milieu, PyCharm vous propose d'écrire la version finale du code (vous pouvez cliquer sur les boutons «>>» et «<<» pour insérer automatiquement les modifications de l'un des fichiers).

J'ai opté pour la version master et ai ajusté le code manuellement. Voici ce que j'ai obtenu.

11.6 Historique des modifications

Autre point utile et intéressant : vous pouvez consulter l'historique des modifications d'un fichier quelconque, en cliquant sur le bouton Show History. Il y a deux endroits où elle peut se trouver — trouvez-la.

Voici à quoi ressemble l'historique des modifications pour le fichier main.py chez moi :

Explications :

  • À gauche, vous voyez l'historique des modifications pour un fichier précis :
    • Plus la modification est récente, plus elle est en haut; plus elle est ancienne — plus elle est en bas.
    • Ici s'affiche aussi l'historique des fusions de branches.
  • À droite — les changements qui ont été apportés lors d'un commit spécifique.
1
Étude/Quiz
Travail avec Git, niveau 12, leçon 3
Indisponible
Travail avec Git
Travail avec Git
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION