TP
Scénario 1 : Ajout d’un Nouveau Pokémon (Caterpie)
Contexte :
Vous avez un projet de Pokedex utilisant Astro et des fichiers .md
. Vous avez déjà ajouté les 9 premiers Pokémon de la première génération. Vous souhaitez maintenant ajouter un nouveau Pokémon, Caterpie.
Étapes :
- Créez une nouvelle branche à partir de
main
. - Ajoutez le nouveau Pokémon dans le fichier approprié.
- Ajoutez le fichier modifié à la zone de staging.
- Créez un commit avec un message approprié.
- Poussez les modifications vers le dépôt distant.
Tutoriel :
-
Créer une nouvelle branche à partir de
main
:Fenêtre de terminal git checkout -b feature/add-caterpie -
Ajouter le nouveau Pokémon dans le fichier approprié :
Fenêtre de terminal # Créez le répertoire pour la première génération si ce n'est pas déjà faitmkdir -p src/content/docs/First\ gen# Ajoutez le fichier Markdown pour Chenipanecho '---title: "**Caterpie**"---**Caterpie** is a Bug-type Pokémon.' > src/content/docs/First\ gen/10-caterpie.md -
Ajouter le fichier modifié à la zone de staging :
Fenêtre de terminal git add src/content/docs/First\ gen/10-chenipan.md -
Créer un commit avec un message approprié :
Fenêtre de terminal git commit -m "Add new pokemon Caterpie" -
Pousser les modifications vers le dépôt distant :
Fenêtre de terminal git push origin feature/add-caterpie
Scénario 2 : Ajout d’une Nouvelle Fonctionnalité (Deuxième Génération)
Contexte :
Vous souhaitez ajouter une nouvelle fonctionnalité à votre Pokedex, par exemple, ajouter les Pokémon de la deuxième génération.
Tutoriel :
-
Créer une nouvelle branche
feature/generation-2
à partir demain
:Fenêtre de terminal git checkout -b feature/generation-2 -
Ajouter les fichiers nécessaires pour la nouvelle fonctionnalité :
Fenêtre de terminal # Créez le répertoire pour la deuxième générationmkdir -p src/content/docs/Second\ gen# Ajoutez les fichiers Markdown pour les Pokémon de la deuxième générationecho '---title: "Chikorita"---Chikorita is a Grass-type Pokémon.' > src/content/docs/Second\ gen/01-chikorita.mdecho '---title: "Cyndaquil"---Cyndaquil is a Fire-type Pokémon.' > src/content/docs/Second\ gen/02-cyndaquil.mdecho '---title: "Totodile"---Totodile is a Water-type Pokémon.' > src/content/docs/Second\ gen/03-totodile.md -
Ajouter les fichiers à la zone de staging :
Fenêtre de terminal git add src/content/docs/Second\ ge -
Créer un commit avec un message approprié :
Fenêtre de terminal git commit -m "Ajout des Pokémon de la deuxième génération" -
Pousser les modifications vers le dépôt distant :
Fenêtre de terminal git push origin feature/generation-2 -
Créer une pull request pour fusionner la branche
feature/generation-2
dansmain
:- Allez sur la page de votre dépôt sur GitHub.
- Créez une pull request pour fusionner
feature/generation-2
dansmain
.
Vous pouvez aussi au souhait, merge in line votre branche en utilisant au choix la commande git merge
ou git rebase
Scénario 3 : Annulation d’un Commit
Contexte :
Vous avez fait un commit par erreur en ajoutant des informations incorrectes à un Pokémon. Vous souhaitez annuler ce commit tout en conservant les modifications dans la zone de staging.
Tutoriel :
-
Faire un commit par erreur :
Fenêtre de terminal # Par exemple, modifiez un fichier et faites un commitecho "Erreur" >> src/content/docs/First\ gen/01-bulbasaur.mdgit add src/content/docs/First\ gen/01-bulbasaur.mdgit commit -m "Commit par erreur" -
Utiliser
git reset --soft
pour annuler le dernier commit :Fenêtre de terminal git reset --soft HEAD~1 -
Modifier les fichiers si nécessaire :
Fenêtre de terminal # Par exemple, corrigez le fichier sourcenano src/content/docs/First\ gen/01-bulbasaur.md -
Ajouter les fichiers modifiés à la zone de staging :
Fenêtre de terminal git add src/content/docs/First\ gen/01-bulbasaur.md -
Créer un nouveau commit avec un message approprié :
Fenêtre de terminal git commit -m "Correction des informations sur Bulbasaur" -
Pousser les modifications vers le dépôt distant :
Fenêtre de terminal git push origin <branche_actuelle>
Scénario 4 : Utilisation de git stash
Contexte :
Vous travaillez sur l’ajout de nouveaux Pokémon de deuxième génération mais vous devez basculer rapidement vers une autre branche pour corriger un bug urgent dans la page de détails d’un Pokémon de première gen.
Tutoriel :
-
Sauvegarder temporairement vos modifications non commitées avec
git stash
:Fenêtre de terminal git stash -
Basculez vers la branche où vous devez corriger le bug :
Fenêtre de terminal git checkout main -
Corrigez le bug et faites un commit
-
Revenez à votre branche de travail initiale :
Fenêtre de terminal git checkout feature/generation-2 -
Appliquez les modifications sauvegardées avec
git stash apply
:Fenêtre de terminal git stash apply
Scénario 5 : Utilisation de git cherry-pick
Contexte :
Vous avez un commit spécifique dans la branche feature/generation-2
qui ajoute Mewtwo, un Pokémon de la première génération. Vous souhaitez appliquer ce commit à la branche main
.
Tutoriel :
-
Basculez vers la branche
main
:Fenêtre de terminal git checkout main -
Utilisez
git cherry-pick
pour appliquer le commit spécifique :Fenêtre de terminal git cherry-pick <commit-hash> -
Poussez les modifications vers le dépôt distant :
Fenêtre de terminal git push origin main
Scénario 6 : Utilisation de git revert
Contexte :
Vous avez poussé un commit vers la branche principale qui contient une erreur critique dans les informations d’un Pokémon. Vous souhaitez annuler ce commit tout en préservant l’historique.
Tutoriel :
-
Utilisez
git revert
pour créer un nouveau commit qui annule les changements du commit précédent :Fenêtre de terminal git revert <commit-hash> -
Poussez les modifications vers le dépôt distant :
Fenêtre de terminal git push origin <branche_actuelle>
Scénario 7 : Utilisation de git tag
Contexte :
Vous avez terminé le développement de la première version de votre Pokedex et vous souhaitez marquer cette version avec un tag annoté.
Tutoriel :
-
Créez un tag annoté pour marquer la nouvelle version :
Fenêtre de terminal git tag -a v1.0.0 -m "Version 1.0.0 du Pokedex" -
Poussez le tag vers le dépôt distant :
Fenêtre de terminal git push origin v1.0.0
Scénario 8 : Création d’une GitHub Pages pour un Pokedex avec Astro
Contexte :
Vous souhaitez à présent héberger ce site statique sur GitHub Pages.
Tutoriel :
-
Configurer Astro pour GitHub Pages
import { defineConfig } from 'astro/config'export default defineConfig({site: 'https://astronaut.github.io',base: 'my-repo',integrations: [...]})- site : Doit être basée sur votre nom d’utilisateur:
https://<username>.github.io
- base: Doit être le nom de votre repertoire git, pour qu’Astro soit capable de considérer le nom du repertoire comme la racine du site
- site : Doit être basée sur votre nom d’utilisateur:
-
Configurer la GitHub Action
-
Créer un fichier YAML à l’emplacement
.github/workflows/deploy.yml
et copier le YAML suivant :name: Deploy to GitHub Pageson:push:branches: [ main ]workflow_dispatch:permissions:contents: readpages: writeid-token: writejobs:build:runs-on: ubuntu-lateststeps:- name: Checkout your repository using gituses: actions/checkout@v4- name: Install, build, and upload your siteuses: withastro/action@v3deploy:needs: buildruns-on: ubuntu-latestenvironment:name: github-pagesurl: ${{ steps.deployment.outputs.page_url }}steps:- name: Deploy to GitHub Pagesid: deploymentuses: actions/deploy-pages@v4 -
Sur GitHub, allez dans les paramètres de votre repertoire, et trouvez la section Pages.
-
Choisissez GitHub Actions comme source.
-
Committer le nouveau fichier de workflow de votre site et pusher le sur GitHub
-