2018_2019:s3:methodo:td:git
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2018_2019:s3:methodo:td:git [2018/09/02 16:14] – [Ressources] blay | 2018_2019:s3:methodo:td:git [2018/09/05 13:06] (current) – [Les tags] blay | ||
---|---|---|---|
Line 32: | Line 32: | ||
< | < | ||
- | - Connectez-vous à https:// | + | - Connectez-vous à https:// |
- | - Créez un projet (un par binôme au minimum) (bouton vert à droite "new project" | + | - Créez un projet (un par binôme au minimum) (bouton vert à droite "new project" |
- Ajoutez un de vos camarades à ce projet (vous pourrez revenir sur ce point plus tard). {{ : | - Ajoutez un de vos camarades à ce projet (vous pourrez revenir sur ce point plus tard). {{ : | ||
- | | + | - Placez-vous bien dans le répertoire sur votre machine où vous désirez garder un lien avec le dépôt distant. |
- | | + | - Dans le terminal : < |
- | - Exécutez et comprenez **pas à pas** les instructions qui vous sont données sous '' | + | |
- "git clone ..." qu' | - "git clone ..." qu' | ||
- utilisez "git status" | - utilisez "git status" | ||
Line 63: | Line 63: | ||
- | ==== Créer/ | ||
- | <note warning> | ||
- | A ne pas faire dans le cadre de ce TD car nous l' | ||
- | </ | ||
- | Pour commencer à travailler avec Git, il y a deux solutions | + | Voir ici pour cette partie : [[2018_2019: |
- | * soit vous créez un nouveau dépôt vide, si vous souhaitez commencer un nouveau projet < | + | |
- | * soit vous clonez un dépôt existant, c’est-à-dire | + | |
- | A noter, que si vous travaillez sous Github ou BitBucket, en général, on crée le dépôt sur le site puis on le clone, comme nous l' | ||
- | ==== Git comme historique des modifications ==== | ||
- | |||
- | | ||
- | Salade norvégienne | ||
- | Œufs fauchés | ||
- | Steak tartare | ||
- | Filet de dorade | ||
- | Profiteroles | ||
- | </ | ||
- | - Comment interprétez-vous le résultat de la commande suivante < | ||
- | - Ajoutez le fichier '' | ||
- | - Réinterprétez le résultat de la commande '' | ||
- | - Le fichier '' | ||
- | - Que donne la commande '' | ||
- | - Apportez quelques modifications au fichier '' | ||
- | - Affichez l’historique des modifications du dépôt. < | ||
- | - En utilisant '' | ||
- | - Modifiez plusieurs fois le Menu afin d’en avoir plusieurs versions. | ||
- | - Le dernier plat ajouté ne vous plait finalement pas. Il existe deux manières de revenir à une version antérieure : | ||
- | - Exécuter '' | ||
- | - Pour revenir en arrière de manière temporaire, exécutez < | ||
- | - Vérifiez que votre fichier Menu.txt est dans son état antérieur. | ||
- | - Revenez au dernier commit (HEAD) en exécutant < | ||
- | - Pour revenir en arrière de manière définitive, | ||
- | - Dans '' | ||
- | ==== Branches de développement ==== | ||
- | Sauf indication contraire, vous ajouterez les plats séquentiellement dans le menu (les uns après les autres). | ||
- | Vous êtes chargé(e) d’introduire des plats végétariens dans le menu du restaurant. Ces plats n’ayant pas encore été validés par la cuisine et la direction du restaurant, vous souhaitez travailler sur la carte sans casser la carte 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' | ||
- | - Créez une branche « vegetarien » dans votre dépôt Git. < | ||
- | - Vérifiez que vous êtes bien dans la branche Master par la commande < | ||
- | - Basculez dans la branche vegetarien < | ||
- | - Vérifiez dans quelle branche vous êtes | ||
- | - Ajoutez deux/trois plats végétariens au menu et commitez au fur et à mesure les modifications. | ||
- | - Fermer votre fichier. | ||
- | - Observez l’historique des modifications du dépôt, que remarquez-vous ? | ||
- | - Revenez à la carte principale (branche « master ») et observez l’historique des modifications, | ||
- | - 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 ». < | ||
- | - Créez une branche « japonais » < | ||
- | - 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, | ||
- | - Modifiez le contenu de la branche japonais. | ||
- | - Supprimer la branche japonais. Que se passe-t-il? < | ||
- | - Supprimez les branches « vegetarien » et « japonais ». | ||
- | |||
- | ==== Synchronisation de votre répertoire ==== | ||
- | |||
- | 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. | ||
- | |||
- | - Visualisez les références distantes < | ||
- | /* La nouvelle référence à '' | ||
- | */ | ||
- | - Visualisez les URL associées aux références distantes < | ||
- | | ||
- | - **(Personne A)** | ||
- | - Créez un fichier index.html reprenant le code ci-dessous : | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | < | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | - Ajoutez le fichier au dépôt git et commitez le fichier. Envoyez ensuite le commit vers le dépôt distant : < | ||
- | - **(Tous sauf A)** | ||
- | - Visualiser l' | ||
- | - Synchroniser votre dépôt git avec la commande < | ||
- | - (Un développeur autre que A) | ||
- | - Modifiez le fichier index.html afin d’ajouter du texte entre les balises body. | ||
- | - Commitez les modifications et envoyez-les vers le dépôt distant. | ||
- | - (TOUS) Synchroniser votre dépôt git avec la commande '' | ||
- | - (Personne A) | ||
- | - Modifiez le titre de la page Web et | ||
- | - Commitez/ | ||
- | - (Personne B) (SANS SYNCHRONISER LE DEPOT) | ||
- | - Modifiez le titre de la page Web | ||
- | - Commitez/ | ||
- | |||
- | ==== Tags ==== | ||
- | |||
- | Git donne la possibilité d’étiqueter un certain état dans l’historique comme important grâce à un « tag ». Ces tags sont couramment utilisés pour marquer des états de publication (//e.g//. v1.0, v1.1, …). | ||
- | Deux types de tags sont disponibles : | ||
- | * Les tags légers : un pointeur sur un commit spécifique | ||
- | * Les tags annotés : stockés sous forme d’objets, ils contiennent une somme de contrôle, le nom et l’email du créateur, la date de création, un message et éventuellement une signature GPG. | ||
- | Dans le cadre de cette matière, nous utiliserons que des tags légers. Pour plus d’informations sur le mécanisme de tags annotés, voir les ressources. | ||
- | |||
- | - Reprenez votre fichier « Menu.txt » et apportez-y des modifications. La nouvelle version obtenue correspondra à la carte qui sera publiée au guide Michelin 2017. Pour marquer cette importance, nous allons associer le tag « michelin » au prochain commit : Créez une étiquette ‘michelin17’ < | ||
- | - Listez les étiquettes disponibles < | ||
- | |||
- | Attention ! | ||
- | |||
</ | </ | ||
</ | </ | ||
Line 295: | Line 192: | ||
Maintenant | Maintenant | ||
- | [[2018_2019: | + | [[2018_2019: |
==== Ressources ==== | ==== Ressources ==== | ||
+ | * https:// | ||
* https:// | * https:// | ||
* https:// | * https:// |
2018_2019/s3/methodo/td/git.1535904871.txt.gz · Last modified: 2018/09/02 16:14 by blay