Seb-Info

Git en pratique !

Git en pratique !

Git en pratique !

Partie 1

GitIntroduction1BTS

PDF

TAF :

Vous travaillez dans une entreprise de développement web. Vous devez intégrer un nouveau fichier CSS dans un projet existant en suivant un workflow Git structuré.

🎯 Tâches à accomplir (en respectant les 8 étapes du schéma) :

  1. Initialiser et configurer Git sur votre projet local.
  2. Créer et configurer un dépôt distant sur GitHub.
  3. Créer une nouvelle branche pour le développement (feature-css).
  4. Faire des modifications et commits en local.
  5. Pousser la branche sur GitHub.
  6. Créer une Pull Request (PR) et demander une revue.
  7. Fusionner la PR sur main après validation.
  8. Mettre à jour le dépôt local avec git pull.

 

Partie 2

GitIntroduction2BTS

PDF

Exercice Git & GitHub en Binôme

🎯 Objectif : Travailler en binôme pour collaborer sur un projet web en utilisant GitHub.

📌 Scénario

Chaque étudiant crée un projet web et son binôme devra le cloner, proposer une amélioration et fusionner la modification.

📝 Étape 1 : Création du projet initial

👨‍💻 Étudiant A crée un projet GitHub.

mkdir ProjetEtudiantA
cd ProjetEtudiantA
git init
touch index.html styles.css

Ajouter ce code dans index.html :

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Projet Étudiant A</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <h1>Bienvenue sur mon projet</h1>
</body>
</html>

Commiter et pousser sur GitHub :

git add . git commit -m « Initialisation du projet » git remote add origin https://github.com/UtilisateurA/ProjetEtudiantA.git git push -u origin main

Vous pouvez faire tout sur VSC ou passer par la ligne de commande suivant votre humeur !

📝 Étape 2 : Clonage et amélioration du projet

👨‍💻 Étudiant B clone et apporte des modifications.

git clone https://github.com/UtilisateurA/ProjetEtudiantA.git
cd ProjetEtudiantA
git checkout -b feature-ajout-bouton

Ajouter ce code dans index.html :

<button onclick="alert('Merci pour votre visite !')">Cliquez ici</button>

Commiter et pousser sur GitHub :

git add .
git commit -m "Ajout d'un bouton interactif"
git push --set-upstream origin feature-ajout-bouton

📝 Étape 3 : Création de la Pull Request

Sur GitHub :

  • Aller sur Pull Requests > New Pull Request.
  • Sélectionner base : main et compare : feature-ajout-bouton.
  • Créer la PR et demander une revue.

📝 Étape 4 : Fusion et mise à jour

Sur GitHub, fusionner la PR, puis sur le terminal :

git checkout main
git pull origin main
git branch -d feature-ajout-bouton

📝 Étape 5 : Provoquer des conflits

Essayer de provoquer volontairement des conflits.

Voyez comment résoudre ces conflits.

📝 Étape 6 : README

Créer un fichier README.md bien structuré en utilisant Markdown pour documenter le projet.


🔄 Changement de rôle

👨‍💻 Étudiant B devient maintenant créateur du projet et Étudiant A devient contributeur.

🚀 Objectifs pédagogiques

  • ✔ Maitriser la collaboration via Git et GitHub.
  • ✔ Gérer un projet versionné en équipe.
  • ✔ Utiliser des Pull Requests pour intégrer des modifications.
  • ✔ Comprendre la gestion des branches.

Partie 3

GitIntroduction3BTS

PDF

TAF :

Mettez en pratique ce cours sur un autre projet ou un projet test !

Allez voir l’historique après !

Partie 4

 

✅ Validation d’une Pull Request sur GitHub

📌 Qui peut valider une Pull Request ?

1️⃣ Dépôt personnel (Projet privé ou public)

Dans un dépôt personnel, les personnes suivantes peuvent valider et fusionner une PR :

  • 👑 Le créateur du dépôt (Owner)
  • 🤝 Les collaborateurs ayant accès en écriture

👉 Si tu as créé ton dépôt, tu peux fusionner tes propres PR.

2️⃣ Dépôt d’une organisation (Projet structuré)

Dans un projet d’organisation, les permissions définissent qui peut valider :

  • 👑 Owner (Propriétaire) → Gère tout (valide et fusionne)
  • 🔧 Maintainer (Mainteneur) → Peut fusionner et gérer les branches
  • 👨‍💻 Collaborateur → Peut proposer et commenter une PR
  • 👀 Reviewer (Relecteur) → Peut valider la PR mais pas la fusionner

Remarques :

Sur GitHub, lorsque tu travailles avec des Pull Requests (PRs), il y a deux actions distinctes :

Valider (Approve) ✅ → Donner son accord après vérification du code.
Fusionner (Merge) 🔀 → Intégrer les modifications dans la branche principale (main).

3️⃣ Dépôt avec une branche protégée (`Protected Branch`)

Si une branche est protégée, GitHub impose :

  • ✅ Une validation obligatoire avant fusion
  • 📜 Une revue de code par un autre membre
  • 🔧 Des tests automatiques (CI/CD) si activés

🔒 Comment activer la protection de branche ?

1️⃣ Aller sur GitHub > Settings > Branches.

2️⃣ Ajouter une règle sur main.

3️⃣ Cochez « Require pull request reviews before merging ».

👉 Personne ne pourra fusionner sans validation !

📌 Comment valider une Pull Request ?

1️⃣ Aller sur GitHub > Pull Requests et ouvrir la PR.

2️⃣ Examiner le code et laisser un commentaire.

3️⃣ Cliquer sur « Approve » (Approuver).

4️⃣ Cliquer sur « Merge Pull Request » pour fusionner.

5️⃣ (Optionnel) Supprimer la branche fusionnée.

🚀 Résumé

  • 👑 Le créateur du dépôt peut toujours fusionner.
  • 🤝 Les collaborateurs peuvent fusionner selon leurs permissions.
  • 🔒 Les branches protégées nécessitent une validation externe.
  • Une PR doit être approuvée avant d’être fusionnée dans un projet structuré.

TAF :

Chaque binôme va travailler sur un projet GitHub et tester le processus de validation et de fusion d’une Pull Request.

💡 Rôles :

  • Étudiant A = Créateur du projet
  • Étudiant B = Collaborateur qui contribue
  • Étudiant A valide et fusionne

💡 Scénario :

  1. Étudiant A crée un dépôt GitHub et ajoute un fichier index.html.
  2. Étudiant B propose une amélioration via une Pull Request.
  3. Étudiant A valide la PR sans la fusionner.
  4. Étudiant A fusionne la PR ensuite.
  5. Étudiant A active les branches protégées pour imposer la validation avant fusion.

Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.

Connexion pour les utilisateurs enregistrés
   
Nouvel utilisateur ?
*Champ requis
Powered by WP-Members