Git & GitHub
Mémo
1. Git quotidien2. Branches et remote3. GitHub Actions4. Events / triggers5. Variables, secrets et diagnostic
TP
TP-01 — Commits et historiqueTP-02 — Branches et conflitsTP-03 — Dépôt, authentification et pull requestTP-04 — Premier workflow, matrice et diagnosticTP-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 commit1.3 Initialiser et configurer1.4 Lire et comparer l’historique1.5 Branches, fusion et conflits1.6 Annuler sans confondre revert, reset et restore1.7 Tags et versions1.8 Git au quotidien sous Linux et en équipe
2. GitHub — Introduction
2.1 Git et GitHub : deux rôles différents2.2 Dépôts et visibilité2.3 Collaboration et organisation2.4 Interfaces et alternatives2.5 GitHub comme plateforme d’équipe
3. GitHub — Premiers pas
3.1 Local, distant et origin3.2 Authentifier un accès : HTTPS ou SSH3.3 Publier : add, commit puis push3.4 Synchroniser : fetch et pull3.5 Pull request, fork et issue3.6 Synchroniser et nettoyer un dépôt distant
4. GitHub — Workflows et processus
4.1 Un workflow commun à l’équipe4.2 Git Flow : préparer des versions4.3 GitHub Flow : changements courts4.4 Choisir selon les contraintes4.5 Du branching au processus complet4.6 Workflow de livraison et responsabilités
5. GitHub — Introduction au CI/CD
5.1 CI, livraison continue et déploiement continu5.2 Le cas des modèles de machine learning5.3 Workflow, job, step, action et runner5.4 Les clés d’un workflow5.5 Exemple : matrice et étapes5.6 Dépendances, shells et diagnostic5.7 Construire un workflow Actions lisible
6. GitHub — Événements et actions
6.1 Événements et filtres6.2 Action uses et commande run6.3 Tests et qualité : pytest et Flake86.4 Pipeline de contrôle commenté6.5 Variables, contextes et portée6.6 Secrets et permissions6.7 Documentation6.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 Introduction1.2 Premier pas1.2.1 Installation1.2.2 Initialisation1.2.3 Ajouter des documents1.2.4 Faire un commit1.2.5 Supprimer des documents1.2.6 Connaître le statut de son dépôt local1.2.7 Exemple1.3 Configuration1.4 Log1.5 Différence entre deux commit1.5.1 Git Blame1.6 Retour en arrière1.7 Branche1.7.1 Théorie1.7.2 Pratique1.7.2.1 Création de branche1.7.2.2 Changement de branche1.7.2.3 Fusion de branche (_merge_)1.7.3 Exercice1.8 Gestion des conflits1.8.1 Exercice1.9 Tag1.10 Conclusion
2. GitHub — Introduction - strict
2.1 GitHub2.1.1 I. Introduction2.1.1.1 Qu'est-ce que GitHub ?2.1.1.2 Le marché de la gestion de code2.1.1.3 Se lancer sur GitHub
3. GitHub — Premiers pas - strict
3.1 II. Premiers pas sur la plateforme3.1.1 Les dépôts / repositories3.1.2 Authentification3.1.2.1 HTTPS3.1.2.2 SSH3.1.3 Add / Commit / Push3.1.4 Fetch / Pull3.1.5 Les branches3.1.6 Les Pull Requests3.1.7 Fork3.1.8 Issues
4. GitHub — Workflows et processus - strict
4.1 III. Workflows et Process4.1.1 Git Flow4.1.2 GitHub Flow4.1.3 Process complet
5. GitHub — Introduction au CI/CD - strict
5.1 A - Introduction5.2 A) Contexte5.3 B) Cycle de vie du projet5.4 B - Les concepts CI/CD5.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 Github5.8 Notre premier flux de travail5.9 Conclusion
6. GitHub — Événements et actions - strict
6.1 5. Événements et actions Github étape par étape6.2 Première étape6.3 Construire notre action6.4 Variable d'environnement
7. Git & GitHub — QCM - strict
7.1 6. knowledge validation7.2 Question 17.3 Question 27.4 Question 37.5 Question 47.6 Question 57.7 Question 67.8 Question 77.9 Question 87.10 Question 97.11 Question 107.12 Question 117.13 Question 127.14 Question 137.15 Question 147.16 Question 157.17 Question 167.18 Question 177.19 Question 187.20 Question 197.21 Question 20