User Tools

Site Tools


2015_2016:lp:dam: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-votrenumetudiant tout en minuscule
  • Un lien vous sera envoyé par mail sur votre adresse étudiante

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

Stash et clone Git

Initialisation

Cette étape est à refaire pour chaque nouvelle machine !

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 en téléchargeant l'outil disponible à l'emplacement suivant : PortableGit

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 votre répertoire 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”

  • Récupérez ce fichier Menu.java (vous ferez attention de renommer le fichier en Menu.java) et modifiez le pour ajouter des plats de restaurants, 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.java, 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.java pour ajouter des fonctionnalités (choix d'afficher un dessert ou une entrée)
Vous vérifierez à chaque fois que votre fichier compile et se lance, pour rappel : javac Menu.java java Menu
  • 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.java 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://<nomutilisateur>@atlas.i3s.unice.fr/stash/scm/pdam/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. Organisez les logs et diff du plus récents au plus vieux. 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.
Vous aurez normalement besoin d'utiliser la commande git pull -u origin master pour récupérer le contenu distant du dépôt.

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.java et commitez au fur et à mesure vos modifications
  • Basculez sur la branche principale (master)
  • Observez le fichier Menu.java 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 (un type au choix)
  • Ajoutez le plat dans Menu.java
  • 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/dam/gl/stash_git.txt · Last modified: 2016/01/05 16:31 by urli