This shows you the differences between two versions of the page.
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:08] blay [Git comme un historique des modifications] |
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. | ||
Nous allons maintenant nous intéresser au développement collaboratif de fichier sources. | Nous allons maintenant nous intéresser au développement collaboratif de fichier sources. | ||
- | |||
- 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 : |
- | - **(Tous sauf A)** | + | - BLANC envoie son code vers le dépôt distant : <code> git push origin master</code> |
+ | * 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 modifications. Que 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 distant. Cool ! | ||
+ | - 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 | ||