This is an old revision of the document!
Table of Contents
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 :
- Allez sur : https://atlas.i3s.unice.fr/crowd/
- 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/.
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é.
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.
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 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
et modifier 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
etgit commit
pour faire votre premier commit contenant le fichier Menu.txt, attention à ne pas oublier le 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 ferez attention de renommer le fichier enMenu.java
)
javac Main.java
java Main
- 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 fichierdiff.txt
que vous ajoutez au dépôt.
>
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. 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.
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.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 un ticket sur Jalon intitulé “Ajout d'un plat (végétarien|indien|japonais|italien)” en faisant un choix parmi ces 4 possibilités. Si un ticket est déjà créé et pris pour un type de plat, faites un autre choix.
- Attribuez vous le ticket
- Créez une nouvelle feature dans le dépôt :
git flow feature start plat(Indien|Vegetarien|Italien|Japonais)
- Ajoutez des plats dans
Menu.txt
- Commitez en indiquant la clé du ticket JIRA et faites un push : que se passe-t-il ? Comment résoudre le problème ?
- Terminez la feature :
git flow feature finish plat(Indien|Vegetarien|Italien|Japonais)
- Faites à nouveau un push et marquez le ticket comme terminé.