Git & GitHub
Mémo
1. Git quotidien
2. Branches et remote
3. GitHub Actions
4. Events / triggers
5. Variables, secrets et diagnostic
TP
TP-01 — Commits et historique
TP-02 — Branches et conflits
TP-03 — Dépôt, authentification et pull request
TP-04 — Premier workflow, matrice et diagnostic
TP-05 — Tests, lint et variables
Chapitres
1. Git
1.1 Git, dépôt et historique distribué
1.2 Répertoire de travail, index et commit
1.3 Initialiser et configurer
1.4 Lire et comparer l’historique
1.5 Branches, fusion et conflits
1.6 Annuler sans confondre revert, reset et restore
1.7 Tags et versions
1.8 Git au quotidien sous Linux et en équipe
2. GitHub — Introduction
2.1 Git et GitHub : deux rôles différents
2.2 Dépôts et visibilité
2.3 Collaboration et organisation
2.4 Interfaces et alternatives
2.5 GitHub comme plateforme d’équipe
3. GitHub — Premiers pas
3.1 Local, distant et origin
3.2 Authentifier un accès : HTTPS ou SSH
3.3 Publier : add, commit puis push
3.4 Synchroniser : fetch et pull
3.5 Pull request, fork et issue
3.6 Synchroniser et nettoyer un dépôt distant
4. GitHub — Workflows et processus
4.1 Un workflow commun à l’équipe
4.2 Git Flow : préparer des versions
4.3 GitHub Flow : changements courts
4.4 Choisir selon les contraintes
4.5 Du branching au processus complet
4.6 Workflow de livraison et responsabilités
5. GitHub — Introduction au CI/CD
5.1 CI, livraison continue et déploiement continu
5.2 Le cas des modèles de machine learning
5.3 Workflow, job, step, action et runner
5.4 Les clés d’un workflow
5.5 Exemple : matrice et étapes
5.6 Dépendances, shells et diagnostic
5.7 Construire un workflow Actions lisible
6. GitHub — Événements et actions
6.1 Événements et filtres
6.2 Action uses et commande run
6.3 Tests et qualité : pytest et Flake8
6.4 Pipeline de contrôle commenté
6.5 Variables, contextes et portée
6.6 Secrets et permissions
6.7 Documentation
6.8 Recettes d’événements et d’environnement
7. Git & GitHub — QCM
7.1 Les notions à vérifier
Cours stricts
1. Git - strict
1.1 Introduction
1.2 Premier pas
1.2.1 Installation
1.2.2 Initialisation
1.2.3 Ajouter des documents
1.2.4 Faire un commit
1.2.5 Supprimer des documents
1.2.6 Connaître le statut de son dépôt local
1.2.7 Exemple
1.3 Configuration
1.4 Log
1.5 Différence entre deux commit
1.5.1 Git Blame
1.6 Retour en arrière
1.7 Branche
1.7.1 Théorie
1.7.2 Pratique
1.7.2.1 Création de branche
1.7.2.2 Changement de branche
1.7.2.3 Fusion de branche (_merge_)
1.7.3 Exercice
1.8 Gestion des conflits
1.8.1 Exercice
1.9 Tag
1.10 Conclusion
2. GitHub — Introduction - strict
2.1 GitHub
2.1.1 I. Introduction
2.1.1.1 Qu'est-ce que GitHub ?
2.1.1.2 Le marché de la gestion de code
2.1.1.3 Se lancer sur GitHub
3. GitHub — Premiers pas - strict
3.1 II. Premiers pas sur la plateforme
3.1.1 Les dépôts / repositories
3.1.2 Authentification
3.1.2.1 HTTPS
3.1.2.2 SSH
3.1.3 Add / Commit / Push
3.1.4 Fetch / Pull
3.1.5 Les branches
3.1.6 Les Pull Requests
3.1.7 Fork
3.1.8 Issues
4. GitHub — Workflows et processus - strict
4.1 III. Workflows et Process
4.1.1 Git Flow
4.1.2 GitHub Flow
4.1.3 Process complet
5. GitHub — Introduction au CI/CD - strict
5.1 A - Introduction
5.2 A) Contexte
5.3 B) Cycle de vie du projet
5.4 B - Les concepts CI/CD
5.5 A) CI : _Continuous Integration_ (intégration continue)
5.6 B) CD : _Continuous Delivery/Deployment_ (déploiement continu)
5.7 C) CI/CD avec un problème d'apprentissage automatique (ML)
5.7.1 C - Outils : Actions Github
5.8 Notre premier flux de travail
5.9 Conclusion
6. GitHub — Événements et actions - strict
6.1 5. Événements et actions Github étape par étape
6.2 Première étape
6.3 Construire notre action
6.4 Variable d'environnement
7. Git & GitHub — QCM - strict
7.1 6. knowledge validation
7.2 Question 1
7.3 Question 2
7.4 Question 3
7.5 Question 4
7.6 Question 5
7.7 Question 6
7.8 Question 7
7.9 Question 8
7.10 Question 9
7.11 Question 10
7.12 Question 11
7.13 Question 12
7.14 Question 13
7.15 Question 14
7.16 Question 15
7.17 Question 16
7.18 Question 17
7.19 Question 18
7.20 Question 19
7.21 Question 20