User Tools

Site Tools


2015_2016:lp:idse:gl:stash_git

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
2015_2016:lp:idse:gl:stash_git [2015/10/05 10:36]
urli created
2015_2016:lp:idse:gl:stash_git [2016/01/05 16:13] (current)
urli [Introduction à Git flow]
Line 16: Line 16:
  
 ===== Stash et clone Git ===== ===== 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/​. Vous pouvez désormais accéder au portail Stash qui va contenir les informations sur vos repository Git : https://​atlas.i3s.unice.fr/​stash/​.
Line 27: Line 29:
  
 Vous pouvez accéder à Git en ligne de commande sur vos machines à l'​emplacement suivant : \\ Vous pouvez accéder à Git en ligne de commande sur vos machines à l'​emplacement suivant : \\
-Sous ''​R:''​ => ''​PortableGit''​ puis ''​git-cmd''​ qui s'​ouvre en ligne de commande.+Sous ''​R:''​ => ''​PortableGit''​ puis ''​git-bash''​ qui s'​ouvre en ligne de commande. 
 + 
 +<note important>​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:''</​note>​
  
 Vous configurer ensuite Git pour savoir qui commit :  Vous configurer ensuite Git pour savoir qui commit : 
Line 36: Line 40:
   * <​code> ​ git config --global http.sslVerify false</​code>​   * <​code> ​ git config --global http.sslVerify false</​code>​
  
 +====== Manipulation Git ======
 +
 +Une fois toutes ces opérations effectuées,​ placez vous dans ''​P:''​ et initialisez un nouveau dépôt git : 
 +
 +  * <​code>​git init monRepo</​code>​ : 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 !**
 +
 +<note tip>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
 +</​note> ​
 +
 +  * 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. ​
 +
 +<note tip>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.</​note>​
 +
 +  * 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 : <​code>​git remote add origin https://​...@atlas.i3s.unice.fr/​stash/​scm/​.../​evalgit.git</​code>​
 +  * 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.1444034209.txt.gz · Last modified: 2015/10/05 10:36 by urli