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]
où lien est le lien copié à l'étape précédante. Ceci devrait télécharger un répertoiresnake20XX
. 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
(ougit 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, tapezgit 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 maingit 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 avecgit branch -D tmp
pour supprimer la branche localementgit 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.