Table des matières
Séminaire Git Avancé
Le Service d'Expérimentation et de Développement (SED) du centre Inria de Lyon s'associe au réseau ARAMIS pour vous proposer, le jeudi 31 mars 2022 un séminaire d'une journée sur des aspects avancés du gestionnaire de versions git.
L'objectif est de maîtriser un ensemble de fonctionnalités avancées de Git afin de pouvoir tirer pleinement parti de cet outil et pouvoir adapter son utilisation en fonction du contexte.
Plus précisément, ce séminaire vous aidera à :
- Comprendre le fonctionnement interne de git pour mieux appréhender l'outil dans son ensemble
- Connaître un large spectre de fonctionnalités offertes par git
- Maîtriser une utilisation raisonnablement complexe de ces outils
Au cours de ce séminaire, nous alternerons présentation et exercices d'application sur machine.
Ce séminaire s'adresse avant tout à un public de programmeurs de tous horizons (ingénieurs, doctorants, chercheurs, …) mais est ouvert à tous.
Seule contrainte forte : Les participants doivent avoir une bonne maîtrise des fondamentaux de l'outil Git (~contenu du Journée Introduction à Git)
Intervenants
La journée sera animée par David Parsons, Ingénieur de Recherche Inria
Supports
Webcast / Diffusion en ligne
La journée a été captée par la cellule webcast du CC-IN2P3 : https://webcast.in2p3.fr/container/journee-git-avance
Pré-requis
Amener son portable sur lequel vous aurez installé les outils suivants :
- git, gitk et git-gui
- pour les utilisateurs windows : Il vous sera demandé au cours de l'installation de choisir un éditeur de texte. Je vous suggère fortement d'en choisir un autre que vim (choix par défaut). Ma suggestion : nano
- un “mergetool” (outil de fusion de fichiers)
- exemple : Meld (https://meldmerge.org/)
- cet outil doit être lançable en ligne de commande
- un client ssh et un générateur de clé ssh
- pour les utilisateurs windows : PuTTY et PuTTYgen (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)
<note tip> Merci d'installer ces outils avant le séminaire.
Vous pouvez vérifier votre installation en suivant les instructions de cette page.
Si vous rencontrez des difficultés, n'hésitez pas à nous contacter). </note>
Programme
9h - 11h30
- Rappels
- Généralités (dont working directory / staging area / local repository / remote repository)
- Gestion des conflits
- Choses à savoir
- Configurer git
- Detached HEAD ?
- Remote tracking branches et Upstream branches
- Plongée dans les entrailles de git
- Petits outils intéressants
- Patches
- Cherry-picking
- Commits “partiels”
- Stash
- Bisect
11h30 - 12h30
- Travaux Pratiques
13h45 - 16h00
- Réécrire l'histoire
- Commit –amend
- Rebase
- Discussion : pull vs fetch + merge ou rebase
- Fast-forward et true-merge
- Rebase interactif
- Undoing things
- Unstage
- “Unmodify” a file
- Undo a commit
- Reset
- Filter-branch (simple évocation)
- Gérer les dépôts distants (remotes)
- Autres outils d'intérêt
- git svn
- git submodules et git subrepo
- git annex et git lfs
- hooks
- rerere
16h00 - 17h00
- Travaux Pratiques
Ressources
- documentation de référence : https://git-scm.com/book/fr/v2, https://git-scm.com/book/en/v2
- pour expérimenter visuellement les commandes de branchement, de merge et de rebase : http://learngitbranching.js.org/
Inscription
<note important>La journée est limitée à 30 participants, sous réserve de nouvelles directives qui pourraient nous amener à adapter le nombre de participants en présentiel. Merci de vous inscrire ici : https://evento.renater.fr/survey/seminaire-git-avance-c745hf9o</note>
<note important>Le nombre d'inscriptions n'est pas limité sur l'Evento, nous préviendrons les personnes retenues par mail (le mode d'inscription est premier inscrit, premier retenu).</note>
<note warning>Les demandes d'ordre de mission et les éventuels frais de mission seront à la charge des participants</note>
Date : jeudi 31 mars 2022 de 9h00 à 17h00
Lieu :
<note important>Le lieu est le Centre de Calcul de l'IN2P3/CNRS sur le campus de la Doua à Villeurbanne.
IL EST NÉCESSAIRE DE SE MUNIR D'UNE PIÈCE D'IDENTITÉ ET DE SON PASS SANITAIRE. </note>
Repas
Le repas sera pris en charge par le Service d'Expérimentation et de Développement du centre Inria de Lyon