====== Aide sur l'utilisation de la forge UCBL ====== A destination des étudiants pour les TPs Problème de connexion ? [[https://forge.univ-lyon1.fr/EMMANUEL.COQUERY/forge/wikis/faq|Essayer la FAQ]] ===== Scénario d'utilisation pour un TP ===== Le scénario suivant est à utiliser sous Unix (Linux ou Mac OS X). Sous Windows, remplacer les commandes par leur équivalent via [[https://tortoisegit.org/|TortoiseGIT]] ou [[https://git-for-windows.github.io/|Git for Windows]] ==== Mise en place ==== Créer un projet sur la forge: * Se rendre ici: https://forge.univ-lyon1.fr/ et créer un nouveau projet * Ajouter les membres du groupe de travail (i.e. le binome) Pour être ajouté à un projet, un étudiant doit s'être connecté au moins une fois sur http://forge.univ-lyon1.fr. Le manager du projet pourra alors l'ajouter via Settings -> Members. * Récupérer l'URL git du dépôt: sous le titre sur la page d'accueil du projet. Un projet est identifié par un //namespace// (le login UCBL du créateur du projet) et un nom de projet. Par la suite, on supposera que le projet a comme namespace ''p1234567'' et comme nom ''montp''. Son identifiant est donc ''p1234567/montp''. L'URL pour le navigateur est donc https://forge.univ-lyon1.fr/p1234567/montp et l'URL pour git est https://forge.univ-lyon1.fr/p1234567/montp.git Clôner le dépôt pour voir une copie de travail locale (à chaque fois, le login et le mot de passe sont ceux de l'intranet lyon 1): git clone https://forge.univ-lyon1.fr/p1234567/montp.git Si l'enseignant.e a fourni un code de base dans un projet de la forge, récupérer le contenu de ce projet (on suppose que l'URL du projet en question est https://forge.univ-lyon1.fr/hg/une-ue-un-tp) : cd montp # si ce n'est pas déjà fait git pull https://forge.univ-lyon1.fr/login.de.mon.enseignant.e/un-tp.git # récupération en local du code git push # propagation du code vers votre projet sur la forge Cette opération de récupération de contenu du projet n'est à faire qu'une fois par projet/tp, sauf si le code fourni pour le TP est mis à jour par l'enseignant.e . ==== Travail ==== Une fois le répertoire de travail mis en place, effectuer des modifications. Si de nouveaux fichiers source ont été ajoutés, il faut les déclarer via git add le/nom/du/fichier Ne pas versionner les fichiers binaires (*.o, *.class, *.jar, exécutables, etc). D'une manière générale, ne pas versionner tout fichier qui serait supprimer par un clean (i.e. ''make clean'' ou ''mvn clean'') Une fois les modifications satisfaisantes il faut les valider: git commit -a -m "Un message qui explique ce qu'on a fait" # Ici, le ''-a'' indique à git de prendre en compte tous les fichiers modifiés en plus des fichier spécifiés avec''git add'' (voir [[https://git-scm.com/book/en/v2/Getting-Started-Git-Basics|Git Basics]] pour plus de détails, en anglais) Si git se plaint de ne pas connaître l'identité du développeur, utiliser une fois les commandes suivantes: git config --global user.name "Mon Nom" git config --global user.email "mon.email@etu.univ-lyon1.fr" Il est possible de faire plusieurs cycle modifications/commit, mais pour le moment les modifications ne sont pas propagées vers la forge. Cette propagation se fait via:git push Il est prudent de précéder un ''git push'' par ''git pull'' de façon à être sûr d'avoir la dernière version du dépôt. La réconciliation des changements peut nécessiter une fusion (merge) que git tentera de faire automatiquement (remplacer ''pull'' par ''fetch'' pour fusionner manuellement ensuite via ''git merge'' ou ''git rebase''). Voir [[https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches|la documentation de gestion des branches distantes]] et de [[https://git-scm.com/book/en/v2/Git-Branching-Rebasing|rebase]] (en anglais).