Skip to content

Utilisation du Gitlab ESIEE pour le projet snake

Configuration du dépot

Prérequis : avoir un répertoire avec votre projet snake dans son état actuel "de référence". Nous appellerons ce répertoire snake_local dans la suite.

  • sur le site git.esiee.fr identifiez vous avec vos login/mdp esiee habituels
  • crééz un projet snake20XX (new project -> blank project choisir le nom et laissez tout le reste avec les options par défaut)
  • rendez vous dans le menu Project information -> Members (en haut à gauche) et cliquez sur le bouton bleu "Invite members" pour ajouter les trois enseignants avec le role de "Developper"
Étapes optionnelles
  • dans un terminal tapez la commande ssh-keygen et validez les choix par défaut. Ceci devrait créer un répertoire .ssh à la racine de votre compte contenant deux fichiers : une clef privée et une clef publique.
  • copiez le contenu de la clé publique (extension de fichier .pub) et rendez vous sur l'interface web du gitlab esiee. Cliquez sur l'icone en haut à droite, selectionnez "Préférences" puis dans le menu à gauche "SSH Keys". Copiez le contenu du fichier dans le champs "Key" puis validez en cliquant sur "Add key"
  • répétez cette procdédure sur toutes les machines depuis lesquelles vous souhaitez utiliser le git sans saisir vos login/mdp pour chaque opérations.
  • sur l'interface web du gitlab esiee, choisissez votre projet snake20XX et cliquez sur l'icone bleu "clone". Choisissez l'un des deux liens "https" pour une connexion necessitant login/mdp, "ssh" si vous avez fait les étapes optionnelles précédantes
  • ouvrez un terminal et placez vous où vous voulez dans vos répertoires personnels.
  • tapez la commande git clone [lien]lien est le lien copié à l'étape précédante. Ceci devrait télécharger un répertoire snake20XX. Il est possible que git vous dise qu'il ne sait pas qui vous êtes. Il propose deux commandes à taper pour définir de facon globale votre identité. Tapez les commandes proposées (en remplacant l'email et le login par votre email et votre identifiant esiee) puis rééssayez.
  • vous pouvez maintenant vous deplacer dans le nouveau dossier avec la commande cd snake20XX
  • copiez vos fichiers dans le répertoire avec la commande cp -R [snake_local]/* .
  • tapez la commande git status : vous devriez voir apparaitre en rouge vos fichiers. Git vous indique que ces fichiers sont présents dans le répertoire mais ne font pas partie du projet
  • pour ajouter les fichiers au projet, tapez la commande git add -A (ou git add [fichier] pour ajouter les fichiers un par un)
  • git status devrait maintenant vous afficher les fichiers en vert. Pourtant les actions ne sont pas encore prisent en compte
  • pour valider les actions, il faut taper maintenant la commande git commit. Ceci valide les dernières opérations. Git ouvre un éditeur de texte (en général vi, nano ou emacs) pour vous permettre d'ajouter un message informatif sur le contenu du commit en cours.
  • un git status devrait maintenant vous informer que votre dépot local est en avance sur le serveur. Il reste à "pousser" les fichiers sur le serveur
  • ceci se fait avec la commande git push. Vous devriez voir apparaitre tous vos fichiers sur l'interface web du gitlab esiee.
  • si vous avez fait des modifications sur une machine, que vous avez ensuite validées (commit) puis poussées (push) sur le serveur, et que vous souhaitez les voir apparaitre sur une autre machine de travail, il faudra maintenant les "tirer" avec la commande git pull

Ceci constitut les commandes minimales à connaitre pour utiliser git. Vous pouvez aller beaucoup plus loin en cherchant des tutoriels sur internet, ou en utilisant un IDE intégrant git.

Gérer des branches

Il pourrait s'avérer souhaitable de pouvoir faire des modifications sans pour autant compromettre la dernière version "stable". Pour cela vous pouver maintenir deux branches sur gitlab en parallèle.

  • pour créer une branche de travail, tapez la commande git branch tmp
  • un git status devrait vous informer que vous êtes toujours en train de travailler sur la branche main. Pour changer de branche, tapez git checkout tmp. git status vous informe en principe que vous travaillez maintenant sur la branche tmp : les futurs commit se feront sur cette branche
  • si vous voulez poussez la nouvelle branche sur le serveur, il faut la créer également sur le serveur avec la commande git push --set-upstream origin tmp.
  • lorsque votre branche tmp arrive a un état stable, vous pouvez alors valider les changements sur la branche main avec les commandes :
    • git checkout main pour revenir sur la branche main
    • git merge tmp pour merge la branche tmp dans la branche main
  • si au contraire vous souhaitez abandonner ce que vous avez fait dans tmp vous pouvez effacez la branche avec
    • git branch -D tmp pour supprimer la branche localement
    • git push origin --delete tmp pour la supprimer sur le serveur.

Il est bien sur possible de faire des choses bien plus compliquées mais ceci devrait suffir pour le projet snake.