Aide sur l'utilisation de la forge UCBL

A destination des étudiants pour les TPs

Problème de connexion ? 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 TortoiseGIT ou 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) <note tip>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.</note>
  • 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 avecgit add (voir 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 la documentation de gestion des branches distantes et de rebase (en anglais).