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 08:36] – created urli2015_2016:lp:idse:gl:stash_git [2016/01/05 15:13] (current) – [Introduction à Git flow] urli
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 08:36 by urli