# Git 2025 Pomme Pompeani CC-BY-SA-NC --- ## Plan de la séance 1. Présentation du cours 1. Comment on code à plusieurs ? 1. Introduction à Git --- ## Présentation du cours ---- - Pomme Pompeani - DUT ici en 2017-2019 - UTC en 2019-2022 - Administration système - Picasoft - Coopaname - NixOS - Programmation Système - reaction - Git partout Note: - premièr·e : - année de cours - cours magistral - préparation de cours avec Pauline - → pas taper - tutoiement / vouvoiement - appelez-moi Pomme - IUT de Montreuil - Hésitez pas à me poser des questions ---- ### Objectifs du cours
- Comprendre pourquoi utiliser un système de gestion de version
- Utiliser Git efficacement
- Collaborer avec Git
--- ## Pourquoi utiliser un système de gestion de version Version Control System ---- ### Comment on code ? Dans la vraie vie, on ne fait pas des TPs. On code en équipe sur des applications dans lesquelles on investit des milliers d'heures de travail. ---- ### Comment on code ?
Note: Expliquer "mince ça marche plus, y'avait quoi avant ?" Limites de Ctrl-Z ---- ### Comment on partage le code ? ----
---- ### Avec Git ----
Note: Schématique Git difficile à apprendre, options et commandes cheloues, mais vraiment très puissant ---- ### Bateau de Thésée
Note: Métaphore du bateau remplacé pièce par pièce. Permettre de remonter dans le temps, c'est permettre de comprendre des choix (pourquoi le mat est encastré comme ça ? pourquoi telle planche est placée ici ?) ---- ### Exemple de `reaction` ```bash git log --stat -- src/ rust/src/ | grep -Eo '[0-9]+ insertions' | grep -Eo '[0-9]+' | paste -sd+ | bc tokei -t=Rust ``` ---- --- ### Introduction pratique ---- 1 Dépôt (ou *Repository*) = 1 projet Exemples : - logiciel - backend + frontend d'une application web - mes cours ---- ### Exemples en ligne -
-
-
-
Note: Petit passage sur des exemples de repo en ligne pour montrer à quoi ça ressemble (mais dire qu'on va commencer par du local) ---- ### `git clone` Télécharge une copie complète Note: Tout l'historique. Reconstruit les fichiers à partir du dossier .git en appliquant tous les commits ---- ### `git commit` - Expliquer ce qu'est un commit - 1 commit = 1 modification enregistrée dans git - auteur, date, modifications, description, commit précédent ---- - Montrer les trois "espaces" de git (working directory / staging area / local repository) et les opérations pour aller de l'un à l'autre (add / reset / commit) --- Git : full copy en local opération de synchronisation