Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Savez-vous vraiment comment fonctionne git ? - ...

Savez-vous vraiment comment fonctionne git ? - Codeurs en Seine 2023 - Conférence

Nous utilisons git quotidiennement. Mais connaissons-nous son réel fonctionnement ? Que faire quand une commande plante ? Pourquoi ce rebase échoue ?

Et si le contenu du répertoire .git pouvait répondre à ces questions et bien plus encore ? Découvrons donc ensemble ce mystérieux dossier et le modèle sous-jacent. Ce dernier nous donnera les clés pour mieux comprendre le fonctionnement du commit, rebase et push.

Que vous veniez de commencer à utiliser git ou que vous l'utilisiez tous les jours depuis des années, cette session vous donnera les connaissances pour passer maitre dans l'art du git.

Sébastien LECACHEUR

October 26, 2023
Tweet

More Decks by Sébastien LECACHEUR

Other Decks in Programming

Transcript

  1. @slecache #codeurs2023 #git commit 44c85e62 (HEAD /> Codeurs en Seine

    2023) Author: Sébastien Lecacheur <@slecache> Org: Odigo Date: Thu OCT 26 10:00:00 2023 +0000 Savez-vous vraiment comment fonctionne git ?
  2. @slecache #codeurs2023 #git Commandes de porcelaine (porcelain commands) • git

    add • git commit • git push • git pull • git branch • git switch • git merge • git rebase • … ❌
  3. @slecache #codeurs2023 #git Commandes de plomberie (plumbing commands) • git

    hash-object • git cat-file • git count-objects • git show-refs • … ✔
  4. @slecache #codeurs2023 #git Pour maîtriser git, il ne faut pas

    apprendre les commandes mais apprendre son modèle.
  5. @slecache #codeurs2023 #git ./ tracks/ tracks.txt Langages 59d0 bb9a 9474

    cb32 Put the tracks in this directory, one track per file. cc33 langages.txt README.txt Modèle - la base d’objets (first commit)
  6. @slecache #codeurs2023 #git ./ tracks/ tracks.txt Langages 59d0 bb9a 9474

    cb32 Put the tracks in this directory, one track per file. cc33 langages.txt README.txt df85 ./ 7460 Langages Architecture 0195 tracks.txt tracks/ Modèle - la base d’objets (versioning) ⌨
  7. @slecache #codeurs2023 #git ./ tracks/ tracks.txt Langages 59d0 bb9a 9474

    cb32 Put the tracks in this directory, one track per file. cc33 langages.txt README.txt df85 ./ 7460 Langages Architecture 0195 tracks.txt tracks/ mytag Modèle - la base d’objets (annotated tag)
  8. @slecache #codeurs2023 #git Et si les branches git n’ étaient

    pas ce que vous croyez qu’elles sont ?
  9. @slecache #codeurs2023 #git 59d0 df85 b5e5 20d4 draft HEAD 0593

    main HEAD draft HEAD Un merge spécial ⌨
  10. @slecache #codeurs2023 #git Les 3 règles ✔ La branche courante

    suit les nouveaux commits. ✔ Quand on se déplace vers un commit, git met à jour le répertoire de travail. ✔ Les objets inaccessibles passent au ramasse-miettes.
  11. @slecache #codeurs2023 #git Un tag est une branche qui ne

    bouge pas avec les nouveaux commits.
  12. @slecache #codeurs2023 #git commit 5ba4fbb (HEAD /> Codeurs en Seine

    2023) Author: Sébastien Lecacheur <@slecache> Org: Odigo Date: Thu OCT 26 10:45:00 2023 +0000 Merci !
  13. @slecache #codeurs2023 #git commit 5ba4fbb (HEAD /> Codeurs en Seine

    2023) Author: Sébastien Lecacheur <@slecache> Org: Odigo Date: Thu OCT 26 10:50:00 2023 +0000 Questions & réponses