# 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: - 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 scc src ``` --- ### 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` - 1 commit = 1 modification enregistrée dans git - métadonnées : auteur, date, modifications, description, commit précédent ---- ### `git status` - Votre boussole, phare dans la nuit ✨ - À taper dès que vous avez perdu le fil ---- ### `git log` - Votre grimoire, votre livre d'histoire - À taper pour consulter votre historique Git ---- ### Les trois "espaces" de git - Working Directory - Staging Area - Local Repository --- ### Changer d'espace - `git add` - `git reset` - `git commit` Note: Démo --- ### Opérations de synchronisation - `git push` - `git pull` Note: On verra ça plus tard