← toutes les matières
disponibledebutant01FS07356

Versioning avec Git & GitHub

Construire un historique exploitable, restaurer sans perdre le contrôle, collaborer par revue et livrer un dépôt d’infrastructure avec CI, release et hygiène de sécurité.

Objectifs

  • Distinguer Git d'une plateforme comme GitHub
  • Créer, examiner et restaurer un historique
  • Utiliser branches, merge et rebase avec discernement
  • Collaborer avec remotes, pull requests et revues
  • Préparer tags, releases et preuves de livraison
  • Appliquer une hygiène de dépôt adaptée aux infrastructures
  • Diagnostiquer un check CI en échec
  • Traiter une exposition de secret sans confondre révocation et réécriture

Notions abordées

  1. 01Dépôt, index et commit
  2. 02Historique, diff et restauration
  3. 03Dépôts distants et authentification
  4. 04Branches, merge et rebase
  5. 05Conflits et stratégies d'intégration
  6. 06Pull requests, issues et code review
  7. 07Protections de branche et règles de fusion
  8. 08Tags, releases et checksums
  9. 09Gitignore, secrets et réécriture d'historique
  10. 10Fichiers volumineux, Git LFS et artefacts
  11. 11CI et diagnostic d'échec

Compétences

  • Versionner un projet
  • Collaborer en équipe
  • Restaurer une version
  • Examiner une modification
  • Gouverner un dépôt de livraison
  • Préparer une release vérifiable
  • Diagnostiquer un échec CI

Outils

GitGitHubGitHub CLIGitHub ActionsBash

Cours

Leçons de la matière

26 leçon(s) déjà reliée(s) à cette matière. Le contenu reste accessible librement, dans l’ordre proposé ou à la carte.

  1. 01

    Distingue Git, GitHub et les trois zones de travail

    Construis un modèle mental précis du working tree, de l’index et du repository avant de mémoriser des commandes.

  2. 02

    Installe, configure et initialise Git

    Vérifie l’outil, configure une identité adaptée au contexte et initialise un dépôt avec une branche principale explicite.

  3. 03

    Observe les changements et prépare précisément l’index

    Lis status et diff, distingue fichiers suivis et non suivis, puis sélectionne exactement le contenu du prochain commit.

  4. 04

    Crée des commits atomiques et lisibles

    Transforme un index contrôlé en historique exploitable avec une intention unique, un message précis et une vérification avant/après.

  5. 05

    Lis l’historique, les diffs et les objets commit

    Parcours un historique, inspecte un commit, compare deux états et retrouve la modification qui a introduit une ligne.

  6. 06

    Restaure un fichier du working tree ou de l’index

    Choisis la bonne source et la bonne destination pour annuler une modification locale sans confondre working tree, index et commit.

  7. 07

    Compare reset soft, mixed et hard dans un laboratoire isolé

    Observe séparément le déplacement de HEAD, l’état de l’index et le contenu du working tree pour chaque mode de reset.

  8. 08

    Annule un commit partagé avec revert

    Crée un nouveau commit inverse au lieu de réécrire l’historique déjà publié.

  9. 09

    Retrouve un état perdu avec reflog et les références

    Observe les déplacements locaux de HEAD, retrouve un commit devenu inaccessible et crée une branche de récupération.

  10. 10

    Maîtrise gitignore, les fichiers suivis et les secrets

    Écris des règles d’ignore vérifiables, arrête de suivre un fichier généré et distingue prévention, retrait et rotation d’un secret.

  11. 11

    Crée, nomme et parcours des branches

    Comprends qu’une branche est une référence mobile, crée des branches courtes et vérifie précisément leur divergence.

  12. 12

    Fusionne en fast-forward ou avec un merge commit

    Compare deux formes d’intégration, inspecte le graphe obtenu et choisis explicitement la forme d’historique attendue.

  13. 13

    Résous un conflit de contenu avec preuves avant et après

    Observe les trois versions d’un fichier en conflit, choisis une résolution métier et vérifie qu’aucun marqueur ne subsiste.

  14. 14

    Rebase une branche locale et comprends la réécriture

    Rejoue des commits privés sur une nouvelle base, compare les anciens et nouveaux identifiants et vérifie un historique linéaire.

  15. 15

    Conçois une stratégie de branches adaptée à une petite équipe

    Définis le rôle de main, dev, feature et release, limite la durée de vie des branches et formalise les conditions de fusion.

  16. 16

    Comprends remote, fetch, pull, push et upstream

    Relie un dépôt local à un dépôt distant, distingue les références locales des références distantes et synchronise sans fusion implicite incontrôlée.

  17. 17

    Authentifie Git sans exposer de secret

    Choisis HTTPS, SSH ou GitHub CLI, vérifie les helpers de credentials et évite les tokens dans les URL, l’historique et les journaux.

  18. 18

    Publie une branche et ouvre une pull request

    Prépare une branche révisable, vérifie son diff, publie-la avec upstream et ouvre une pull request qui explique intention, validation et rollback.

  19. 19

    Relis un diff, commente et traite une revue

    Examine le changement avant son auteur, distingue question, suggestion et blocage, puis réponds à la revue avec des commits et preuves traçables.

  20. 20

    Utilise issues, protections de branche et règles de fusion

    Transforme un besoin en issue vérifiable, protège les branches sensibles et définis des règles de fusion cohérentes avec staging, production et CI.

  21. 21

    Crée des tags annotés et prépare une release

    Fige un commit validé avec un tag annoté, produis des notes et artefacts vérifiables, puis distingue clairement tag Git et release GitHub.

  22. 22

    Retire un secret et comprends les limites de la réécriture

    Traite l’exposition comme un incident, révoque avant de nettoyer, réécris les références concernées et coordonne les clones, forks et caches.

  23. 23

    Gère fichiers volumineux, binaires et artefacts

    Décide ce qui appartient à l’historique, ignore les sorties reproductibles et utilise un stockage d’artefacts ou Git LFS seulement lorsqu’un binaire doit réellement être versionné.

  24. 24

    Déclenche une CI minimale et diagnostique un check en échec

    Transforme les critères du dépôt en commandes reproductibles, exécute-les localement et dans GitHub Actions, puis localise l’étape et la preuve d’un échec.

  25. 25

    Projet final — gère le dépôt d’infrastructure d’une PME

    Livre un dépôt gouverné de bout en bout : issue, branche, commits, revue, CI, fusion, release, rollback, secret hygiene et preuves d’acceptation.

  26. 26

    Phase 4 (2/3) — Le code : Git & GitHub

    Tes images sont dans Harbor, mais le code d'où elles viennent vit « en vrac » sur une VM. On met en place une machine de management, Git, et GitHub comme dépôt central.

Dans les formations

Référence source

Versioning avec Git/Github

Code
01FS07356
Programme
Bachelor année 1 — RNCP39103BC04
Volume d’origine
12 heures
ECTS d’origine
1

Le contenu SORIA ajoute les pratiques de revue, gouvernance, release, CI, gestion d’artefacts et réponse à l’exposition de secrets.