GIT - La gestion de version décentralisée

Vos projets impliquent des développements répartis géographiquement, ou des intervenants nomades. Issu du monde du développement des logiciels libres, GIT a été pensé dès le début pour fonctionner de façon décentralisée, c'est l'une des clefs de son succès.

Objectifs :

Cette formation vous permettra d'acquérir les compétences nécessaires pour configurer et utiliser GIT au quotidien pour gérer votre code source. A l'issue de la formation, vous serez en mesure de :

  • Comprendre le fonctionnement de GIT.
  • Suivre les modifications de vos projets.
  • Utiliser le mode distribué avec un serveur.
  • Adapter GIT à la gestion de votre contexte projet.
  • Intégrer GIT à votre environnement de développement.
Publics
Développeurs, adminsitrateurs.
 
Taille du groupe : ≤ 10 pers.
Durée

1 jour.


40% de pratique,
60% de cours.
Pré-requis

Avoir déjà utilisé un gestionnaire de versions commandes Unix.

Contenu pédagogique :

Introduction

  • Qu'est-ce qu’un logiciel de gestion de versions ?
  • Différences entre logiciel centralisé et distribué
    1. version centralisée
    2. version distribuée
    3. version distribuée avec serveur
  • Généralités
  • Opérations possibles
  • Intégrité de vos données
  • Fonctionnement général

Les bases

  • Créer un dépôt
  • Répertoire Local
  • Modifier le code et commit
  • Différence entre deux versions
  • Retour en arrière
  • Nettoyage
  • Droit à la sauvegarde, à l’erreur
  • Logiciels
    1. Gitk
    2. Git Gui
    3. Plugin EGit pour Eclipse

Les branches

  • Dans quel cas créer une branche
  • Fonctionnement d'un projet avec branches
  • Passage d'une branche à l'autre
  • Gestion des branches
  • Différence Merge et Rebase
  • Fonctionnalités du rebase
  • Le cherry-pick

Mode distribué avec serveur

  • Protocoles de communication
  • Cloner un dépôt
  • Gestion des répertoires distant
  • Se mettre à jour via le PULL
  • Se mettre à jour via le FETCH
  • Reverser sur le serveur
  • Résumé des opérations
  • Tagger une version
  • Fonctionnement en équipe

Flux de développement

  • Méthode PULL / Request
  • Méthode Git Flow

Conclusion

  • Synthèse
  • Liens utiles