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
Next revision Both sides next revision
2018_2019:s2:td:git [2019/03/16 21:10]
blay [Synchronisation de votre répertoire]
2018_2019:s2:td:git [2019/03/16 22:51]
blay [Synchronisation de votre répertoire en groupe]
Line 51: Line 51:
  
   
-==== 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 57:
      - 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>​ +     ​- ​ENSEMBLES : 
- 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 : +        - BLANC envoie son code vers le dépôt distant : <​code>​ git push origin master</​code>​ 
-       - **(Tous sauf  A)** +            ​* ​ 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 ** 
             - 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 ====
 +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 Partie </​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 Partie</​code> ​
 +       - Vérifiez dans quelle branche vous êtes
 +       - Ajoutez à la classe que vous avez créé initialement (Blanc-> Game, ect) ce que vous voulez puis commutez
 +       - Ajoutez à la classe que vous avez créé initialement (Blanc-> Game, ect) ce que vous voulez puis commutez
 +       - 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 ?​
 +  - Ajoutez un plat non-végétarien au menu de la branche master. Commitez la modification.
 +  - Le cuisinier et le directeur du restaurant sont satisfaits de vos propositions de plat et souhaitent maintenant les ajouter au menu principal. Fusionnez (« merge ») la branche « vegetarien » à la branche « master ». <​code>​git merge vegetarien </​code> ​ Que se passe-t-il ?​ Ouvrez le fichier Menu.txt et vérifiez que la fusion s'est bien passée.
 +  -  Créez une branche « japonais » <​code>​ git checkout -b japonais </​code>​
 +  - Ajoutez des plats japonais en commitant au fur et à mesure les modifications et retirer des plats de viande.
 +  - Revenez sur la branche « master » et fusionnez la branche « japonais ». Regardez le contenu du fichier Menu.txt et l’historique de modifications du dépôt. Y a-t-il eu un conflit ? Pourquoi ?
 +  - Si vous avez un conflit, ​ résolvez le conflit de manière à ajouter tous les plats situés entre les balises de conflit (<<<<<​ et >>>>>​). Commitez le changement (et donc la fusion) en tapant « git commit –a »
 +  - Modifiez le contenu de la branche japonais.
 +  - Supprimer la branche japonais. Que se passe-t-il? <​code>​ git branch -d japonais </​code>​
 +    - Supprimez les branches « vegetarien » et « japonais ».
  
 ====== Références ====== ====== Références ======
 https://​rogerdudler.github.io/​git-guide/​index.fr.html https://​rogerdudler.github.io/​git-guide/​index.fr.html
  
2018_2019/s2/td/git.txt · Last modified: 2019/03/26 16:18 by blay