User Tools

Site Tools


2018_2019:s2:td:git

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
2018_2019:s2:td:git [2019/03/16 21:10]
blay [Synchronisation de votre répertoire]
2018_2019:s2:td:git [2019/03/26 16:18] (current)
blay [Définition de l'environnement]
Line 1: Line 1:
 ====== Introduction à GIT ====== ====== Introduction à GIT ======
  
 +<note tip>Cet énoncé a été conçu pour des groupes qui n'ont pas vraiment commencé à utiliser leur dépôt git.
 +Il est donc possible que certaines actions soient inutiles. ​
 +</​note>​
 ===== Définition de l'​environnement ===== ===== Définition de l'​environnement =====
  
   - Adresse de gitlab :  https://​git-iutinfo.unice.fr/​   - Adresse de gitlab :  https://​git-iutinfo.unice.fr/​
 +  - Pour que l'on sache qui commit : <​code>​ git config --global user.name myusername </​code>​
 +  - Pour que l'on ait son adresse : <​code>​ git config --global user.email myemail </​code>​
   - Vous désactivez la vérification SSL <​code>​ git config --global http.sslVerify false </​code>​   - Vous désactivez la vérification SSL <​code>​ git config --global http.sslVerify false </​code>​
-  - Suivez les instructions du dépôt (si vous ne les voyez plus : [[2018_2019:​s2:​td:​git:​depot|2018_2019:​s2:​td:​git:​depot]]+  - Suivez les instructions du dépôt (si vous ne les voyez plus :​[[2018_2019:​s2:​td:​git:​depot|2018_2019:​s2:​td:​git:​depot]] 
  
 Pour les étudiants qui utilisent leur ordi perso, il est possible que vous ayez besoin de, ouvrir un Git CMD en administrateur,​ puis taper la commande suivante:  ​ Pour les étudiants qui utilisent leur ordi perso, il est possible que vous ayez besoin de, ouvrir un Git CMD en administrateur,​ puis taper la commande suivante:  ​
 <​code>​ git config --system --unset credential.helper</​code>​ <​code>​ git config --system --unset credential.helper</​code>​
  
-===== Git comme un historique des modifications ===== +<note warning>​TODO GIT INGONE</​note>​
-Chaque étudiant du groupe a une tâche particulière,​ chacun choisit sa couleur : Blanc, Bleu, Vert, Jaune, Rouge+
  
 +
 +
 +
 +===== Gitignore ​ =====
 +  - Un des étudiants du groupe de TD ajoute le fichier {{:​2018_2019:​s2:​td:​gitignore.zip|.gitignore}} dans votre répertoire courant, i.e. 
 +    - Dézipper le fichier.
 +    - <​code>​ git add .gitignore</​code> ​
 +    - <​code>​git commit -a -m "ajout du .gitignore"​ </​code> ​
 +    - <​code>​git push</​code> ​
 +  - Tous les étudiants du groupe pour partir de la même version
 +    -  <​code>​git pull</​code> ​
 +===== Git comme un historique des modifications =====
 +**Chaque étudiant du groupe a une tâche particulière,​ chacun choisit sa couleur : Blanc, Bleu, Vert, Jaune, Rouge**
    - Créer un fichier contenant une classe vice en fonction de votre couleur (public class X {})    - Créer un fichier contenant une classe vice en fonction de votre couleur (public class X {})
        * Blanc : Game (Partie)        * Blanc : Game (Partie)
Line 51: Line 69:
  
   
-==== Synchronisation de votre répertoire ====+==== Synchronisation de votre répertoire ​en groupe ​====
  
 Hormis la première étape, vous avez expérimenté Git pour gérer localement vos versions. ​ Hormis la première étape, vous avez expérimenté Git pour gérer localement vos versions. ​
Line 57: Line 75:
      - Visualisez les références distantes <​code>​ git remote </​code> ​      - Visualisez les références distantes <​code>​ git remote </​code> ​
      - Visualisez les URL associées aux références distantes <​code>​git remote -v </​code>​      - Visualisez les URL associées aux références distantes <​code>​git remote -v </​code>​
-     ​- ​Envoyez ensuite le commit ​vers le dépôt distant : <​code>​ git push origin master</​code>​ +     ​- ​BLANC envoie son code vers le dépôt distant : <​code>​ git push origin master</​code>​ 
- le pousser en amont. La commande ​pour le faire est simple ​: git push [nom-distant] [nom-de-branche]. ​Si vous souhaitez ​pousser votre branche master vers le serveur origin (pour rappel, cloner un dépôt définit automatiquement ces noms pour vous), alors vous pouvez lancez ceci pour pousser votre travail vers le serveur amont : +            ​* ​ Cette commande ​signifie ​: git push [nom-distant] [nom-de-branche]. ​Ici, nous souhaitons ​pousser votre branche master vers le serveur origin (pour rappel, cloner un dépôt définit automatiquement ces noms pour vous) 
-       - **(Tous sauf  A)** +       - ** TOUS ** 
             - Visualiser l'​état du dépôt distant <​code>​ git remote show origin </​code>​             - Visualiser l'​état du dépôt distant <​code>​ git remote show origin </​code>​
 +       - ** TOUS ** 
             - Synchroniser votre dépôt git avec la commande <​code>​ git pull </​code>​             - Synchroniser votre dépôt git avec la commande <​code>​ git pull </​code>​
-  - (Un développeur autre que A)  +       ​- ​ ** TOUS **  
-        ​- ​Modifiez le fichier index.html afin d’ajouter du texte entre les balises body.  +            Chacun pousse son code sur le dépôt distant ​<​code>​ git push origin master</​code>​ et si vous avez un souci... pensez à vous mettre à jour
-        Commitez les modifications et envoyez-les vers le dépôt distant. +  - Chacun :  
-  - (TOUS) Synchroniser votre dépôt git avec la commande ​''​git pull''​. +       * Bleu ajoute à ''​Game'' ​l'​attribut "​Player black" 
-  ​-  (Personne A)  +       * Vert ajoute à  ''​Game''​ l'​attribut "​Move[] moves"​ 
-        Modifiez le titre de la page Web et  +       * Blanc ajoute à  ''​GameManager''​ l'​attribut "​Game[] games"​ 
-        Commitez/​envoyez les modifications. +       * Jaune ajoute à  ''​GameManager''​ l'​attribut "IA[] ias" 
-  - (Personne B) (SANS SYNCHRONISER LE DEPOT)  +       * Rouge ajoute à  ''​GameManager''​ la méthode ''​Game createGame()''​ 
-        Modifiez le titre de la page Web  +       * Tous commitent en local 
-        Commitez/​envoyez les modificationsQue se passe-t-il ? Remédiez au conflit.+  ​Là vous faîtes ensemble ​et dans l'​ordre en vous aidant :  
 +      Bleu pousse sur le serveur distant. (Pour lui c'est facile ! 
 +      Vert tente de pousser... Remédiez au conflit. 
 +      Blanc pousse sur le serveur distantCool !  
 +      ​Jaune pousse sur le serveur distant .... 
 +      ​Rouge pousse sur le serveur distant...
  
 +==== Branches de développement ====
 +<note important>​Cette partie n'est pas insdispensable à la gestion de votre projet tutoré de S2, à moins que votre groupe en ai décidé autrement ;-) </​note>​
  
 +Nous allons travailler avec une branche chacun.
 + 
 +Les caractéristiques n'​ayant pas encore été validées par votre client, vous souhaitez travailler sur celles-ci sans casser la version existante. La notion de branche permet de passer instantanément d’une version « stable » (branche « master » créée par défaut) du projet à une « version en cours de développement » (n’importe quelle autre branche que « master »
 +  - Jusqu'​ici vous avez travaillé sur une seule branche « master » : c’est la branche principale, celle qui en général contient le « vrai » code source de votre projet. Pour voir toutes vos branches <​code>​git branch </​code> ​
 +  - Chacun ​ : 
 +       - Créez une branche de votre couleur <C> dans votre dépôt Git. <​code>​ git branch C </​code> ​
 +       - Vérifiez que vous êtes bien dans la branche Master par la commande <​code>​git branch </​code> ​
 +       - Basculez dans la branche de C<​code>​ git checkout C</​code> ​
 +       - Vérifiez dans quelle branche vous êtes
 +       - Ajoutez à la classe que vous avez créée initialement (Blanc-> Game, ect) ce que vous voulez puis commitez
 +       - Fermez votre fichier.
 +       - Observez l’historique des modifications du dépôt, que remarquez-vous ?​
 +       - Revenez à la branche « master » et observez l’historique des modifications,​ que remarquez-vous ?​
 +       - Vous souhaitez ajouter vos modifications à la branche master. Fusionnez (« merge ») la branche « C » à la branche « master ». <​code>​git merge C </​code> ​ Vérifiez que la fusion s'est bien passée.
 +      - Si vous avez un conflit, ​ résolvez le conflit, pour cela dans le fichier en cause, identifiez les codes entre les balises de conflit (<<<<<​ et >>>>>​). ​
 +          - Commitez le changement (et donc la fusion) en tapant « git commit –a »
 ====== Références ====== ====== Références ======
 +http://​marklodato.github.io/​visual-git-guide/​index-en.html
 +
 https://​rogerdudler.github.io/​git-guide/​index.fr.html https://​rogerdudler.github.io/​git-guide/​index.fr.html
  
2018_2019/s2/td/git.1552767015.txt.gz · Last modified: 2019/03/16 21:10 by blay