Introduction au versionnage avec git

Résumé

  • Durée : 1 jour
  • Prérequis : notions de base en bash, système et développement logiciel.

Contexte

La gestion de version est essentielle pour le développement d’applications collaboratives. Elle permet de documenter les changements, de revenir à des versions précédentes, de fusionner le travail sur différentes fonctionnalités, de trouver les causes de bugs, etc.

Git est actuellement l’outil de gestion de version décentralisé le plus utilisé et est devenu la norme dans le domaine.

Cette formation vous aidera à comprendre l’importance de la gestion de version, les concepts de base de git et à utiliser cet outil pour gérer les versions de vos développements.

Objectifs

Savoir utiliser git pour gérer les versions de ses projets et travailler en collaboration avec d’autres personnes en utilisant des dépôts distants. Comprendre les concepts et les notions clés pour pouvoir progresser efficacement dans l’utilisation de l’outil.

Prérequis

  • Bash : savoir utiliser la ligne de commande pour gérer les fichiers (se déplaer dans l’arborescence, supprimer/éditer/créer des fichiers et dossiers, lancer une commande)
  • Système : savoir ce qu’est un sytème de fichiers, connaitre les types de fichiers (binaire/texte/caché/etc.)
  • Développement logiciel : avoir une expérience dans la développement d’une petite application

Programme

  • Concepts et vocabulaire de la gestion de version (commit, état, branche, dépot, …)
  • Commandes de base (init, log, add, commit, status, diff, add)
  • Notions clé (historique des commits, répertoire de travail, index de staging)
  • Travail avec un dépôt distant (push, fetch)
  • Git “internals” : se faire une représentation du fonctionnement de git
  • Manipulation de l’historique et travail collaboratif : merge et rebase
Julien Robert
Julien Robert
Indépendant en ingénierie informatique

Docteur en informatique, agrégé de mathématiques, passionné de sciences et d’informatique, j’ai à coeur de mettre en oeuvre et faire évoluer et transmettre mes conpétences sur tout type de projet “stimulant” conceptuellement et / ou techniquement.