Notes introductives nécessaires :
- Lisez, répétez et comprenez l'article sur git . Cela permettra de garantir que tout est déjà configuré et prêt à fonctionner.
- Installez Intellij IDEA.
- Réservez une heure de temps personnel pour une absorption complète.
Cloner le projet localement
Il y a deux options ici.- Si vous avez déjà un compte Github et que vous souhaitez pousser quelque chose plus tard, il est préférable de vous confier le projet et de cloner votre copie. Comment faire un fork - J'ai décrit dans cet article dans le chapitre un exemple de flux de travail de fork .
- Clonez depuis mon référentiel et faites tout localement sans pouvoir transférer le tout sur le serveur. Après tout, ce sera mon référentiel))
-
Copiez l'adresse du projet :
-
Ouvrez Intellij IDEA et sélectionnez Obtenir à partir du contrôle de version :
-
Copiez et collez l'adresse du projet :
-
Vous serez invité à créer un projet Intellij IDEA. Nous acceptons l'offre :
-
Puisqu'il n'y a pas de système de build et que ce n'est pas le cadre de l'article, sélectionnez Créer un projet à partir de sources existantes :
-
Ensuite, il y aura une peinture à l'huile comme celle-ci : Nous avons réglé le problème du clonage, maintenant nous pouvons regarder autour de nous.
Premier aperçu d'Intellij IDEA en tant qu'interface utilisateur Git
Examinez de plus près le projet cloné : vous pouvez déjà y obtenir de nombreuses informations sur le système de contrôle de version. Le premier est le panneau de contrôle de version dans le coin inférieur gauche. Vous pouvez y trouver toutes les modifications locales et obtenir une liste des commits (analogue au git log). Passons à la conférence Log . Il existe une certaine composante visuelle qui permet de comprendre exactement comment s'est déroulé le processus de développement. Par exemple, vous pouvez voir qu'une nouvelle branche a été créée avec un en-tête commit ajouté à txt , qui a ensuite été fusionné dans la branche master. Si vous cliquez sur un commit, dans le coin droit, vous pouvez voir toutes les informations sur le commit : toutes les modifications et ses métadonnées. De plus, vous pouvez voir quelles modifications ont été apportées. D’ailleurs, le conflit y a été résolu. IDEA le montre également parfaitement. Si vous double-cliquez sur le fichier qui a été modifié lors de ce commit, nous verrons comment le conflit a été résolu : on remarque qu'à droite et à gauche il y avait deux versions du même fichier qui devaient être fusionnées en une seule. Et au milieu se trouve le résultat final. Lorsqu'un projet comporte de nombreuses branches, commits et utilisateurs qui travaillent dans le projet, vous devez effectuer une recherche séparément par branche (branche), utilisateur (utilisateur) et date (date) : Et la dernière chose que je veux expliquer avant de commencer est de savoir comment comprendre dans quelle branche nous sommes. Je vais vous donner une minute pour chercher... l'avez-vous trouvé ? Est-ce que vous abandonnez ? :D Dans le coin inférieur droit, il y a un bouton Git: master , où après Git: il indique sur quelle branche se trouve actuellement le projet. Si vous cliquez sur le bouton, vous pouvez faire beaucoup de choses utiles : passer à une autre branche, en créer une nouvelle, renommer une branche existante, etc.Travailler avec le référentiel
Touches de raccourci utiles
Pour continuer à travailler, vous devez vous rappeler quelques raccourcis clavier très utiles :- ctrl + t - récupère les dernières modifications d'un référentiel distant (git pull).
- ctrl + k - valider/afficher toutes les modifications actuellement disponibles. Cela inclut à la fois les fichiers non suivis et modifiés (voir mon article sur git, ceci y est décrit) (git commit).
- ctrl + shift + k est une commande permettant de transmettre les modifications à un référentiel distant. Tous les commits créés localement et qui ne sont pas encore sur le site distant seront proposés en push (git push).
- alt + ctrl + z - annule les modifications dans un fichier spécifique à l'état du dernier commit créé dans le référentiel local. Si vous sélectionnez l'intégralité du projet dans le coin supérieur gauche, vous pouvez annuler les modifications apportées à tous les fichiers.
Que voulons-nous?
Pour travailler, il faut maîtriser le script de base, utilisé partout. La tâche consiste à implémenter une nouvelle fonctionnalité dans une branche distincte et à la transférer vers un référentiel distant (vous devez ensuite créer une autre demande d'extraction pour la branche principale, mais cela dépasse le cadre de notre article). Qu'est-ce que je dois faire?-
Obtenez toutes les modifications actuellement dans la branche principale (master, par exemple).
-
Sur la base de ce principal, créez-en un distinct pour votre travail.
-
Implémenter de nouvelles fonctionnalités.
-
Accédez à la branche principale et vérifiez s'il y a eu de nouveaux changements pendant que vous travailliez. Si ce n'est pas le cas, alors tout va bien, et si c'était le cas, alors nous procédons comme suit : nous allons dans la branche de travail et rebasons les modifications de la branche principale vers la nôtre. Si tout s’est bien passé, tant mieux. Mais il pourrait y avoir des conflits. Et ils peuvent être résolus à l'avance sans perdre de temps sur un référentiel distant.
Il semblerait, pourquoi faire ça ? Il s'agit d'une règle de bonne forme, qui évite que des conflits n'apparaissent après avoir poussé votre branche vers le dépôt local (il y a bien sûr une chance qu'ils existent toujours, mais elle devient beaucoup plus petite).
- Transférez vos modifications vers un référentiel distant.
Recevoir les modifications d'un serveur distant ?
J'ai ajouté une description au README avec un nouveau commit et je souhaite recevoir ces modifications. Un choix est proposé entre fusionner et rebase si des modifications ont été apportées à la fois dans les référentiels locaux et distants. Sélectionnez une fusion. Entrez ctrl + t : En conséquence, vous pouvez voir comment le README a changé, c'est-à-dire les modifications du référentiel distant ont été extraites et dans le coin inférieur droit, vous pouvez voir tous les détails des modifications provenant du serveur.Créer une nouvelle branche basée sur master
Tout est simple ici.-
Allez dans le coin inférieur droit et cliquez sur Git: master , sélectionnez + New Branch .
Laissez la case à cocher Branche Checkout et écrivez le nom de la nouvelle branche. Pour moi, ce serait un outil readme-améliorateur .
Après cela, Git: master deviendra Git: readme-improver .
Simuler un travail parallèle
Pour que des conflits apparaissent, il faut que quelqu'un les crée :D Je vais éditer le README avec un nouveau commit via le navigateur et ainsi simuler un travail parallèle. On dit que quelqu'un, pendant mon travail, a apporté des modifications au même fichier que moi, ce qui entraînera un conflit. Je vais supprimer le mot « entièrement » de la ligne 10.Implémentez votre fonctionnalité
La tâche consiste à modifier le README et à ajouter une description au nouvel article, c'est-à-dire que le travail dans git est effectué via Intellij IDEA. Ajoutez ceci : les modifications sont terminées, vous pouvez maintenant créer un commit. Appuyez sur le raccourci clavier ctrl + k , nous obtenons : Avant de créer un commit, vous devez regarder attentivement ce qui est proposé dans cette fenêtre. J'ai spécifiquement ajouté une flèche pour vous montrer où chercher. Il y a beaucoup de choses intéressantes là-bas. Dans la section Commit Message , nous écrivons le texte du commit, et pour qu'il soit créé, vous devez cliquer sur le bouton Commit . Je n'ai toujours pas trouvé comment faire cela avec un raccourci clavier, donc si quelqu'un le trouve, écrivez, je serai très heureux. Nous écrivons que le README a changé et créons un commit. En conséquence, une alerte apparaîtra dans le coin inférieur gauche avec le nom du commit :Vérifiez si la branche principale a changé
Nous avons terminé la tâche, ça marche, nous avons écrit les tests, tout va bien. Mais avant de pousser vers le serveur, vous devez vérifier s'il y a eu des changements dans la branche principale pendant cette période. Comment cela pourrait-il arriver? C’est très simple : quelqu’un s’est vu confier une tâche après vous, et cette personne l’a fait plus vite que vous. Par conséquent, nous passons à la branche master. Pour ce faire, vous devez faire dans le coin inférieur droit ce qui est indiqué dans la figure ci-dessous : Dans la branche master, appuyez sur ctrl + t pour obtenir ses dernières modifications depuis le serveur distant. Si vous regardez les modifications apportées, vous pouvez facilement remarquer ce qui s'est passé : comme vous pouvez le voir, le mot « complètement » a été supprimé. Peut-être que c’est quelqu’un du marketing qui a décidé que cela ne pouvait pas être écrit ainsi et a confié aux développeurs la tâche de le mettre à jour. Nous disposons désormais localement de la dernière version de la branche master. Revenons à readme-improver . Nous devons maintenant rebaser les modifications de la branche master vers la nôtre. Nous le faisons : Si vous avez tout suivi correctement avec moi, le résultat devrait être un conflit dans le fichier README : Il y a aussi ici beaucoup d'informations qui doivent être comprises et absorbées. Cela affiche une liste (dans notre cas d'un élément) des fichiers qui ont des conflits. Nous pouvons choisir trois options :- acceptez le vôtre - n'acceptez que les modifications du readme-improver.
- acceptez les leurs - n'acceptez que les modifications du maître.
- fusionner - choisissez vous-même ce que vous souhaitez conserver et ce que vous souhaitez supprimer.
- Ce sont des changements par rapport au readme-improver.
- Résultat. Pour l’instant, c’est la même chose qu’avant les changements.
- Modifications de la branche principale.
GO TO FULL VERSION