CodeGym /Cours /Frontend SELF FR /Travailler avec des branches git dans IntelliJ IDEA

Travailler avec des branches git dans IntelliJ IDEA

Frontend SELF FR
Niveau 20 , 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 versions, qui permet de développer plusieurs lignes de travail 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.

Branches dans git

Tu peux imaginer les branches dans git comme des dossiers, où git copie ton projet. Tu as le dossier principal de ton projet dans ton répertoire localmaster, et git peut créer des copies de ce dossier pour que tu puisses y expérimenter sans casser le code principal qui fonctionne bien. Ces dossiers-copies sont appelés branches.

Les branches sont des versions alternatives du code. Disons que tu veux modifier quelque chose dans un grand projet, faire un test dont tu n'es pas vraiment sûr. Comment le ferais-tu sans git ?

Tu pourrais copier le projet dans un nouveau dossier et essayer de tout changer là-dedans. Si le résultat te plaît, tu pourrais le copier dans le dossier principal. Si ça ne te plaît pas — tu peux l'oublier ou même le supprimer.

Ou prenons un exemple de la vie courante. Disons, l'écriture d'un livre :

  1. Tu as le manuscrit du livre (branche principale).
  2. Tu veux essayer de changer la fin (création d'une nouvelle branche).
  3. Tu écris la nouvelle fin dans un document séparé (travail dans la nouvelle branche).
  4. Si la nouvelle fin est meilleure, tu remplaces l'ancienne dans le manuscrit (fusion des branches).
  5. Tu supprimes le document séparé avec la nouvelle fin (suppression de la branche).

11.2 Création de branches

Créer une branche dans IntelliJ IDEA est très facile :

Création de branches

Entrez le nom de la branche :

Création de branches

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

Création de branches

Et qu'y avait-il avant ?

Il y avait le nom de votre première et principale branche — master.

Maintenant, le nom 'test' est affiché, ce qui signifie que Git (sous la direction d'IntelliJ IDEA) a non seulement créé une nouvelle branche, mais s'y est aussi immédiatement déplacé.

Allons ajouter du code au fichier main.html dans la branche actuelle (test) et committons-le :

Création de branches

11.3 Changer de branche

Étape 1. Choisir une branche.

Maintenant, passons à notre ancienne branche. Cliquons sur le menu en haut, et que voyons-nous ?

Changer de branche

Pas d'inquiétude — tout est simple ici :

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

  • test
  • master

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

Recent — c'est juste une liste des derniers noms de branches avec lesquels vous avez travaillé : ce point IntelliJ IDEA l'ajoute pour plus de confort et de rapidité.

Le nom origin/master à droite du nom du dépôt local est le nom du dépôt distant avec lequel il est actuellement synchronisé, et où les modifications seront poussées.

Étape 2. Charger le code de la branche dans le dossier actuel.

Changer de branche

Étape 3. Vérifiez.

J'ai la branche «master» affichée et l'ancien code :

Vérifiez

11.4 Fusion de branches

Essayons maintenant de fusionner le code de nos deux branches.

Étape 1. Pour commencer, ajoutons un autre fichier à notre projet — index.html et écrivons-y un peu de code :

  • Créer le fichier index.html
  • Écrire le code <h1>Hello</h1>
  • Commiter le fichier

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

Fusion de branches

Étape 2. Fusionner les branches.

Nous allons intégrer dans notre branche actuelle (master) les modifications qui ont été apportées dans la branche test.

Pour cela, utilisons aussi le menu du haut et la commande «Merge ‘test’ into ‘master’» :

Fusion de branches

Étape 3. Vérifier le résultat.

Fusion de branches

Vérifions :

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

11.5 Conflits lors de la fusion

Parfois, il y a des conflits lors de la fusion des branches.

Si tu apportes des modifications à un fichier dans différentes branches et que tu essaies de les fusionner, un conflit peut survenir.

Conflit de fichiers texte

Git est un système très intelligent - il comprend les types de fichiers. Si tu apportes des modifications à différents endroits des fichiers qu'il considère comme textes, il transfèrera simplement les modifications d'un fichier à l'autre à l'endroit approprié (comme le ferait un humain).

Conflit de fichiers binaires

Mais si tu modifies quelque part une image ou un document, Git n'essaiera pas de combiner leurs parties en un - il te proposera simplement de choisir quelle version du fichier tu souhaites conserver dans la branche actuelle.

Résolution manuelle des conflits

Si tu fais des modifications au même endroit d'un fichier texte, Git ne pourra pas fusionner correctement les différentes versions et te proposera de le faire :

Conflits lors de la fusion

Voici à quoi cela peut ressembler :

Conflits lors de la fusion

Que vois-tu ici :

  • À gauche — le contenu du fichier main.html de la branche master
  • À droite — le contenu du fichier main.html de la branche test
  • Au milieu, IntelliJ IDEA te propose d'écrire la version finale du code (tu peux cliquer sur les boutons «>>» et «<<» pour insérer automatiquement les modifications à partir d'un fichier)

J'ai accepté la version mater et ajouté le code manuellement. Voilà ce que j'ai obtenu :

Conflits lors de la fusion

11.6 Historique des modifications

Encore quelque chose de utile et intéressant. Tu peux consulter l'historique des modifications de n'importe quel fichier en cliquant sur le bouton Show History. Il y a deux endroits où il peut se trouver. Trouve-les.

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

Conflits lors de la fusion

Explications :

  • À gauche, tu vois l'historique des modifications d'un fichier spécifique :
    • Plus la modification est récente, plus elle est en haut, plus elle est ancienne – plus elle est en bas
    • Il affiche également l'historique de la fusion des branches
  • À droite — les modifications apportées dans un commit spécifique
1
Опрос
Éléments décoratifs ,  20 уровень,  3 лекция
недоступен
Éléments décoratifs
Éléments décoratifs
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION