User Tools

Site Tools


2015_2016:lp:idse:gl:stash_git

Stash et GIT

L'ensemble de ce TD est inspiré des documents de Sébastien Mosser, Philippe Collet et Cyril Cecchinel.

Initialisation du mot de passe

Pour pouvoir utiliser votre repository Git, vous devez d'abord accéder à Stash et pour cela vous devez initialiser votre mot de passe. La procédure d'initialisation du mot de passe suit les étapes suivantes :

  • Cliquez sur le lien “Can't access my account?”
  • Cochez ensuite “I have forgotten my password” : votre username est lp-votrenom tout en minuscule
  • Un lien vous sera envoyé par mail à l'adresse que vous aviez indiqué lors du premier TD

Crowd vous permet ensuite de définir ou de changer votre mot de passe.

Stash et clone Git

Initialisation

Vous pouvez désormais accéder au portail Stash qui va contenir les informations sur vos repository Git : https://atlas.i3s.unice.fr/stash/.

Dans le cadre de ce TD vous ne vous intéressez qu'au repository evalgit

Lorsque vous naviguez dans un repository vide, Stash vous donne quelques informations pour la configuration. Il est en effet nécessaire que votre installation de Git soit configurée de manière à ce que vos noms et adresse email soit renseigné.

Si un commit ne peut être identifié comme provenant de vous il est considéré comme anonyme lors des évaluations !

Vous pouvez accéder à Git en ligne de commande sur vos machines à l'emplacement suivant :
Sous R:PortableGit puis git-bash qui s'ouvre en ligne de commande.

Par défaut, la ligne de commande va s'ouvrir sur le chemin R: changez de chemin vers votre propre répertoire de travail, dès le lancement de la console : cd P:

Vous configurer ensuite Git pour savoir qui commit :

  •  git config --global user.name "Votre Nom"
  •  git config --global user.email supermail@gmail.com 

Afin d'outrepasser les problèmes de certificat il vous faut aussi ajouter cette configuration :

  •   git config --global http.sslVerify false

Manipulation Git

Une fois toutes ces opérations effectuées, placez vous dans P: et initialisez un nouveau dépôt git :

  • git init monRepo

    : cette commande va créer un nouveau dépôt local dans un dossier nouvellement créé nommé “monRepo”

  • Créez ensuite un fichier Menu.txt contenant des plats de restaurant, ligne par ligne :
    • Steak tartare
    • Salade norvégienne
    • Filet de dorade
    • Bar à la citronnelle
  • Vérifiez le résultat en tapant la commande git status
  • Utilisez les commandes git add et git commit pour faire votre premier commit contenant le fichier Menu.txt, attention à ne pas oublier le message de commit !
Il existe plusieurs manières de commiter en laissant un message de commit :
  • git commit -m “le message de commit”,
  • git commit sans argument vous ouvre un éditeur (vi par défaut - echap et :wq pour sortir en écrivant le message)
  • et d'autres que vous pourrez retrouver dans la documentation
  • Modifiez le fichier Menu.txt et commitez ces modifications.
  • Affichez l'historique des modifications et enregistrez les dans un fichier log.txt que vous ajoutez au dépôt.
  • Visualisez les modifications effectuées dans Menu.txt entre le premier et le deuxième commit grâce à git diff et enregistrer le résultat dans un fichier diff.txt que vous ajoutez au dépôt.
Sous un shell linux vous pouvez utiliser > pour que la sortie standard soit redirigée sur un fichier. Par exemple ls -l > toto.txt écrit la liste des fichiers du répertoire courant dans le fichier toto.txt.
  • Liez votre dépôt local au dépôt distant. Vous retrouvez normalement ces informations sur la page du dépôt dans Stash. La commande devrait être de la forme :
    git remote add origin https://...@atlas.i3s.unice.fr/stash/scm/.../evalgit.git
  • Poussez ensuite les commits effectuez grâce à la commande git push -u origin master
  • Vous serez normalement amené à gérer des conflits : résolvez les conflits en conservant l'ensemble des logs et des diffs. La résolution des conflits passe par la modification textuelle des fichiers : les différentes versions sont séparées par des lignes décrites par les balises “««««” et “»»»»”. Commitez les changements effectués.

Introduction aux branches (sans git flow)

  • Créez une branche à votre nom dans le dépôt : git branch votrenom
  • Basculez sur cette branche : git checkout votrenom
  • Vérifiez que vous êtes sur la bonne branche : git branch
  • Ajoutez des plats dans Menu.txt et commitez au fur et à mesure vos modifications
  • Basculez sur la branche principale (master)
  • Observez le fichier Menu.txt et modifiez des plats, puis commitez
  • Fusionnez la branche que vous aviez créée : git merge votrenom
  • Résolvez les conflits et commitez
  • Pushez les changements

Introduction à Git flow

  • Initialisez git flow dans votre dépôt : git flow init. Conservez les choix par défaut de git flow.
  • Créez une nouvelle feature dans le dépôt : git flow feature start platX en choisissant un nom de plat
  • Ajoutez des plats dans Menu.txt
  • Commitez et faites un push : que se passe-t-il ? Comment résoudre le problème ?
  • Terminez la feature : git flow feature finish platX
  • Faites à nouveau un push
2015_2016/lp/idse/gl/stash_git.txt · Last modified: 2016/01/05 16:13 by urli