La remise de projets à EPITA se fait via Git sur la Forge. Compléter cette étape vous permet d’obtenir votre premier succès sur l’intranet de la Forge.
Qu’est-ce que Git ?#
Git est un système de contrôle de versions : il enregistre l’historique des modifications apportées aux fichiers d’un projet. Chaque instantané de votre travail s’appelle un commit et est stocké dans un dépôt (repository).
Un point qui perturbe souvent les débutants : faire un commit et pousser (push) sont deux opérations distinctes. Lorsque vous créez un commit, il est sauvegardé uniquement dans votre dépôt local. Personne d’autre ne peut le voir. Pour partager votre travail, vous devez explicitement pousser vos commits vers le dépôt distant hébergé sur la Forge. Les correcteurs ne voient que ce qui a été poussé : un commit qui reste en local, c’est comme s’il n’avait jamais existé.
Configurer Git#
Identité Git#
Avant votre premier commit, indiquez à Git qui vous êtes. Ouvrez ~/.gitconfig dans votre éditeur de texte et renseignez le contenu suivant, en remplaçant le nom et l’e-mail par les vôtres :
[user]
name = Prénom Nom
email = prénom.nom@epita.fr
[color]
ui = true
[push]
default = simpleUtilisez vos véritables prénom et nom (avec majuscules, séparés par un espace) et votre adresse e-mail EPITA.
Clé SSH#
Git communique avec la Forge via SSH. Il faut générer une paire de clés et enregistrer la clé publique sur votre profil Forge ID.
Rendez-vous sur Forge ID, cliquez sur SSH key dans le menu de gauche. Cliquez ensuite sur le bouton Help du formulaire pour obtenir les instructions afin de créer votre clé SSH.
Collez (CTRL+V) votre clé publique dans le formulaire et enregistrez.
Cloner son dépôt et rendre son projet#
Trouver son dépôt#
- Rendez-vous sur l’intranet de la Forge. Sur la page d’accueil, une liste des activités en cours est affichée en haut. Cliquez sur Welcome Practical.
- Cliquez sur le projet Hello World. La page vous indique deux informations essentielles :
- L’URL du dépôt, de la forme
prenom.nom@git.forge.epita.fr:p/... - Le motif de tag requis pour la remise (
hello-*)
- L’URL du dépôt, de la forme
Cloner le dépôt#
Copiez l’URL du dépôt depuis la page du projet, puis exécutez dans un terminal :
git clone prenom.nom@git.forge.epita.fr:p/...Cela crée un répertoire local avec le dépôt. Placez-vous dedans :
cd <nom-du-dépôt>Réaliser le projet#
Le projet vous demande de créer un fichier hello.txt à la racine du dépôt, contenant exactement :
Hello World!Ouvrez-le avec vim ou emacs (comme vu à l’étape précédente) et enregistrez-le.
Il faut maintenant enregistrer ce fichier dans l’historique Git. C’est un processus en deux étapes :
git add: indiquez à Git quels fichiers inclure dans le prochain commit. Imaginez que vous mettez des fichiers dans une enveloppe avant de la fermer. Un fichier qui existe sur le disque mais qui n’a pas été ajouté sera ignoré par Git.
git add hello.txtgit commit: fermez l’enveloppe et sauvegardez l’instantané définitivement dans votre historique local. L’option-mpermet d’y associer un court message décrivant ce que vous avez fait.
git commit -m "Add hello.txt"Remettre avec un tag#
Un tag est une étiquette que vous attachez à un commit précis pour le marquer comme important : imaginez un post-it collé sur un point de votre historique. Contrairement à un message de commit, un tag possède un nom que vous pouvez référencer explicitement, ce que la Forge utilise pour détecter les remises.
Les remises sont déclenchées par l’envoi d’un tag Git correspondant au motif hello-*. Créez un tag et envoyez-le avec votre commit :
git tag hello-v1
git push
git push --tagsObtenir son premier succès#
Retournez sur la page du projet Hello World sur l’intranet. Le correcteur automatique s’exécute peu après l’envoi de votre tag. Une fois votre remise validée, le succès est débloqué sur votre profil.
Voilà pour les outils essentiels. Si certains points ne sont pas encore clairs, vos premières semaines de cours combleront les lacunes. Bienvenue à EPITA !