Accueil > Programmer avec Java > PrĂ©prarer lâenvironnement de dĂ©veloppement >
đ ïž Partager le code avec Git et GitHub
Survol et attentes
Définitions
- DépÎts
- (âreposâ en anglais) Les projets gĂ©rĂ©s avec Git sont appelĂ©s dĂ©pĂŽts. Un dĂ©pĂŽt est un dossier qui contient tous les fichiers de votre projet, y compris les fichiers de configuration de Git. Les dĂ©pĂŽts sont stockĂ©s sur votre ordinateur et peuvent ĂȘtre partagĂ©s avec dâautres personnes sur GitHub. Les dĂ©pĂŽts sur votre ordinateur sâappellent des dĂ©pĂŽts locaux, tandis que ceux sur GitHub sont des dĂ©pĂŽts distants.
- ClĂŽner
- Pour copier un dépÎt distant sur votre ordinateur, vous devez le clÎner. Cela crée une copie locale du dépÎt sur votre ordinateur. Vous pouvez ensuite travailler sur le projet localement et synchroniser les changements avec le dépÎt distant.
- Modifier
- selon Git un fichier modifié a été soit édité, ajouté ou supprimé depuis la derniÚre version validée. Ces modifications existent sur votre disque dur, mais ne sont pas encore enregistrées dans Git. Git vous permet de supprimer les modifications depuis la derniÚre validation, au besoin, ce qui affectent les fichiers sur votre disque dur.
- Indexer
- (âstageâ en anglais) indexer les modifications est comme un photographe qui choisit son sujet. Vous sĂ©lectionnez les fichiers modifiĂ©s que vous voulez inclure dans votre prochain instantanĂ©. Vous ne pouvez pas prendre une photo sans un sujet, et vous ne pouvez pas faire une validation sans avoir indexĂ© au moins une modification.
- Valider
- (âcommitâ en anglais) toujours dans le contexte de la photographie, valider est comme prendre une photo. Vous crĂ©ez un instantanĂ© de votre projet Ă un moment donnĂ©. Vous pouvez revenir Ă cet instantanĂ© Ă tout moment pour voir ce Ă quoi ressemblait votre projet Ă ce moment-lĂ .
Il faut toujours identifier un commit avec un court message; il nâest pas possible de complĂ©ter lâopĂ©ration sans ce message.
- Synchroniser
- (âsyncâ en anglais) synchroniser un dĂ©pĂŽt veut dire combiner et mettre Ă jour les validations du dĂ©pĂŽt local et du dĂ©pĂŽt distant. Toutes les validations qui ne sont pas communes seront partagĂ©es. Ainsi, une synchronisation poussera les validations locales vers le dĂ©pĂŽt distant et tirera les validations distantes dans votre dĂ©pĂŽt local.
Cette opĂ©ration peut gĂ©nĂ©rer des conflits de fusion des validations. Si cela se produit, demandez de lâaide Ă votre enseignant.
Objectifs dâapprentissage
Ă la fin de cette leçon vous devrez ĂȘtre en mesure de :
- ClÎner un projet partagé via GitHub
- Modifier, indexer et valider des fichiers dans un dépÎt local
- Synchroniser les changements avec le dépÎt distant
CritĂšres de succĂšs
- Je suis capable dâutiliser Git (dans VS Code) et GitHub (dans un navigateur web) pour archiver mon code et le partager avec mes enseignants.
ClÎner un projet partagé via GitHub
Votre enseignant vous prépare des gabarits de projets, parfois juste des dossiers vides, pour organiser vos programmes dans le cours. Pour les utiliser, vous devez les clÎner dans votre ordinateur. Voici comment faire :
-
Acceptez dâabord la tĂąche dans GitHub Classroom, ce qui vous crĂ©era une copie personnelle du projet sur GitHub.
-
Ouvrez VS Code.
-
Ouvrez la palette de commandes avec
Ctrl + Shift + P. -
Tapez âcloneâ pour trouver la commande
Git: Cloneet cliquez dessus. Si vous lâavez dĂ©jĂ utilisĂ©e, elle apparaĂźtra dans la liste des commandes rĂ©centes sans avoir Ă la chercher.Si câest la premiĂšre connexion, VS Code vous demandera de vous connecter Ă GitHub. Suivez ATTENTIVEMENT les instructions pour vous connecter. Si on vous propose une option âtoujoursâŠâ, cochez-la pour Ă©viter des problĂšmes de connexion Ă lâavenir.
Ă SURVEILLER : Parfois la fenĂȘtre pour une des Ă©tapes dâauthentification apparaĂźt en arriĂšre-plan, bloquant la connexion. Regarder la barre des tĂąches pour voir sâil y a des nouvelles fenĂȘtres ouvertes.
-
Cliquez ensuite sur
Clone from GitHubet attendre que la liste des dĂ©pĂŽts apparaisse. Puisque vous nâen avez pas beaucoup, votre dĂ©pĂŽt sera facile Ă trouver dans la liste. -
Cliquez sur le dĂ©pĂŽt que vous voulez clĂŽner et choisissez un dossier oĂč le clĂŽner dans la fenĂȘtre qui sâouvre. Je suggĂšre fortement dâutiliser votre dossier âDocumentsâ pour tous les projets.
-
VS Code créera un dossier avec le nom du dépÎt à cet endroit et copiera le projet dedans.
-
VS Code vous proposera dâouvrir le dossier clĂŽnĂ© avec les options suivantes :
- Open : ferme le projet ouvert actuellement et ouvre le projet clÎné
- Open in New Window : ouvre le projet clĂŽnĂ© dans une nouvelle fenĂȘtre de VS Code (gardant le projet actuellement ouvert dans la fenĂȘtre originale)
- Add to Workspace : ajoute le projet clĂŽnĂ© Ă la liste des dossiers actuellement ouverts dans VS Code (utile si vous avez plusieurs projets ouverts en mĂȘme temps)
En général, les options Open ou Open in New Window sont les plus simples à gérer.
ClĂŽnez une seule fois, synchronisez par la suite
Si vous avez dĂ©jĂ clĂŽnĂ© un projet, vous nâavez pas besoin de le clĂŽner Ă nouveau pour continuez Ă travailler dedans. Vous pouvez simplement ouvrir le dossier du projet dans VS Code. Il y a mĂȘme une section âOpen Recentâ dans le menu âFileâ pour vous aider Ă retrouver les projets que vous avez ouverts rĂ©cemment.
Testez votre compréhension
ClĂŽnez le projet âpratiqueâ dans votre dossier âDocumentsâ et ouvrez-le dans VS Code. Le lien pour le gabarit de ce projet est partagĂ© avec vous dans Classroom.
Modifier, indexer et valider des fichiers dans un dépÎt local
Cette section vous montre comment apporter des changements dans votre dépÎt local, les conserver avec Git et les partager avec le dépÎt distant, sur GitHub.
Modifier
Cette Ă©tape est la partie normale de la production de code : vous crĂ©ez, modifiez et supprimez des fichiers en faisant vos exercices ou en dĂ©veloppant vos programmes. Assurez-vous de travailler dans un dossier de projet et non sur des fichiers isolĂ©s. Seulement les fichiers dans un dĂ©pĂŽt local - comme ceux que vous clĂŽnĂ©s de GitHub - peuvent ĂȘtre indexĂ©s et validĂ©s. Les dĂ©pĂŽts locaux sont tous des dossiers.
Vous savez que vous faites des modifications dans un dĂ©pĂŽt local si vous voyez un âMâ Ă cĂŽtĂ© des noms des fichiers modifiĂ©s ou un âUâ (pour âUntrackedâ) pour les fichiers que vous venez de crĂ©er. Si vous faites des modifications et vous ne voyez pas ces indicateurs, il y a deux possibilitĂ©s : vous nâavez pas enregistrĂ© les fichiers sur le disque (activez lâenregistrement automatique) ou les fichiers ne sont pas dans un dĂ©pĂŽt (utiliser lâExplorateur de fichiers Windows pour les dĂ©placer dans votre dĂ©pĂŽt).
De plus, vous devrez utiliser les outils de travail (les extensions Java, le terminal intĂ©grĂ©, etc.) pour vous aider Ă Ă©crire du code Java valide et fonctionnel. La leçon prĂ©cĂ©dente sur VS Code vous explique davantage ces outils. En dâautres mots, vous devrez tester votre code avant de passer aux prochaines Ă©tapes.
Indexer et valider
En plus des indicateurs de modification mentionnĂ©s plus haut, vous pouvez voir le nombre de fichiers modifiĂ©s sur lâicĂŽne de lâoutil Git dans la barre latĂ©rale de VS Code. Vous pouvez seulement indexer et valider des fichiers modifiĂ©s, alors vous pouvez seulement passer Ă cette Ă©tape quand il y a un nombre affichĂ©.
Ces Ă©tapes peuvent se faire au terminal - et vous avez beaucoup plus de possibilitĂ©s au terminal - mais VS Code vous offre une interface graphique pour les faire, ce qui est plus convivial. Voici comment lâutiliser :
- Cliquez sur lâicĂŽne âSource Controlâ dans la barre latĂ©rale de VS Code ou en tapant
Ctrl + Shift + G(âGâ pour âGitâ). - Les fichiers modifiĂ©s apparaĂźtront dans la liste âChangesâ. Ce sont tout les fichiers quâil est possible dâindexer.
Vous pouvez cliquer sur un fichier pour voir les modifications quâil contient. Les lignes en vert sont les ajouts, les lignes en rouge sont les suppressions.
- Pour indexer un fichier, cliquez sur le
+Ă cĂŽtĂ© du nom du fichier. Cela ajoutera le fichier Ă la liste des fichiers indexĂ©s. Vous pouvez indexer tous les fichiers en cliquant sur le+en haut de la liste (Ă cĂŽtĂ© de âChangesâ). Les fichiers indexĂ©s sont les sujets de lâinstantanĂ© que vous allez prendre en validant les modifications. - Ăcrire un message qui dĂ©crit les modifications indexĂ©es. Il est impossible de complĂ©ter la validation sans ce message. Il y a une zone de texte en haut du panneau de contrĂŽle pour taper ce message. Voici quelques exemples de messages courts et descriptif :
- Salut.java et capture pour lâexercice 1
- ajout de commentaires pour lâexercice 2
- progession sur Projet.java
- correction dâerreurs dans Main.java
- Valider les modifications indexĂ©es en cliquant sur le bouton âCommitâ (le bouton avec la coche). Cela prend un instantanĂ© des modifications indexĂ©es. Ces modifications sont maintenant enregistrĂ©es dans Git, mais seulement sur votre ordinateur dans le dĂ©pĂŽt local.
Si vous oubliez dâĂ©crire un message, VS Code bloque lâopĂ©ration et ouvre un Ă©diteur de message Ă la droite. Ăcrivez votre message sur une ligne qui ne commence pas par
#(qui est un commentaire) et fermez lâĂ©diteur (en lâenregistrant au besoin). La validation se complĂ©tera automatiquement.
Testez votre compréhension
Modifiez le fichier âREADME.mdâ dans le projet âpratiqueâ : ajouter une ligne vide ou supprimez quelque chose. Indexez et validez le fichier avec un message descriptif.
Visitez votre dĂ©pĂŽt sur GitHub pour voir que les modification nâont pas Ă©tĂ© partagĂ©es. RafraĂźchissez la page pour ĂȘtre certain. Ces Ă©tapes ont seulement créé une version qui peut ĂȘtre partagĂ©e avec un dĂ©pĂŽt distant. Il faut faire la synchronisation pour partager cette version.
Synchroniser les changements avec le dépÎt distant
Valider et synchroniser du code est comme la photographie. Un clichĂ© se trouve dâabord juste sur lâappareil du photographe. Pour les partager avec le monde, le photographe doit les tĂ©lĂ©verser sur une plateforme de partage, comme un rĂ©seau social.
Partager des instantanĂ©s de code est pareil. La validation enregistre lâinstantanĂ© sur votre ordinateur mais vous devez encore le tĂ©lĂ©verser sur le dĂ©pĂŽt distant (GitHub), soit le synchroniser avec ce dĂ©pĂŽt. Voici comment faire :
- AprĂšs la validation, le bouton âCommitâ devient âSync Changesâ avec le nombre de validations Ă pousser. Sâil y a aussi des validations sur le dĂ©pĂŽt distant qui ne sont pas sur votre ordinateur, le bouton affichera le nombre de validations Ă tirer.
- Pour synchroniser, il suffit de cliquer sur le bouton.
Bonnes habitudes pour éviter les conflits de fusion
Pour Ă©viter dâavoir Ă fusionner les validations Ă tirer avec les validations Ă pousser, vous devrez suivre ces rĂšgles dâor : toujours synchroniser (tirer) avant de commencer Ă travailler sur un projet et toujours synchroniser avant de fermer lâordinateur. De cette façon, tout ce qui est Ă tirer arrive seul au dĂ©but dâune session de travail, laissant seulement les modifications Ă pousser Ă la fin de la session de travail. De plus, vous commencerez toujours votre session avec la version la plus Ă jour du projet.
AprÚs votre premiÚre synchronisation, VS Code vous demandera si vous voulez tirer périodiquement les modifications distantes. Je vous recommande de le faire (ce qui inclut une synchronisation chaque fois que vous ouvrez le projet), mais vous pouvez choisir de le faire manuellement si vous préférez afin de développer la discipline de synchroniser avant de travailler.
Vous devrez tout de mĂȘme dĂ©velopper la discipline de synchroniser Ă la fin des pĂ©riodes de travail.
Quand vous travaillerez en Ă©quipes (lâannĂ©e prochaine), il y a des stratĂ©gies plus avancĂ©es pour Ă©viter les conflits de fusion - notamment lâutilisation de branches, mais pour vos projets personnels, cette rĂšgle est suffisante et efficace.
Testez votre compréhension
Synchronisez les modifications du projet âpratiqueâ avec le dĂ©pĂŽt distant. Visitez votre dĂ©pĂŽt sur GitHub pour voir que les modifications ont Ă©tĂ© partagĂ©es. RafraĂźchissez la page au besoin.