Chargement...
 

Git

Présentation

  • Description : Git est un gestionnaire de versions collaboratif qui permet à plusieurs développeurs Windows, Macintosh ou Linux de développer ensemble sur les mêmes codes sources.
  • Objectifs :
    • savoir utiliser git pour travailler en équipe sur le développement d'un logiciel

Public

  • Public :
    • Développeurs informatiques
    • Administrateurs systèmesLinux
  • Prérequis :
    • Développer en perl, Python, C ou C++ ou tout autre langage

Organisation matérielle

  • Durée : 2 jours (14 heures)
  • Horaires : 9h00-12h00 13h00-17h00
  • Rythme : Continue ou fragmentée
  • Mode : Inter ou intra entreprise
  • Lieu : Sur site ou en centre de formation

Environnement

  • Moyens pédagogiques : Document de support de cours en PDF (242 pages) + document PDF correction d'exercices (6 exercices)
  • Moyens techniques : Pc sous Windows, MacOsX ou Linux
  • Moyen humains : Développeur diplômé troisième cycle plus de dix ans d'expérience en développement et formation

Garanties qualités

  • Contrôle de la bonne exécution : Fiche d'appréciation remplie par les stagiaires
  • Méthode d'évaluation : Fiche d'évaluation

Programme

Présentation

Définitions

  • Les gestionnaires de versions
  • Quelques remarques
  • Dépôts publics/ dépôts privés
  • Histoire de Git
  • L'originalité de Git
  • Avantage GIT

Comparaison des gestionnaires de version

  • Gestionnaires centralisés vs décentralisés
  • Les différents gestionnaires
  • Utilisation la plus basique
  • Git caractéristiques
  • Les arbres
  • Les instantanés de Git

Interface graphique

  • Git graphique vs git en ligne de commande
  • Peu importe l'interface
  • Beaucoup d'IDE proposent un git intégré
  • Via les commandes

Première création d'un dépôt par clonage

  • Récupération via clone
  • Cas d'un clonage rapide

Base

Exploration

  • Le répertoire .git
  • Le contenu du répertoire .git
  • Visualisation de la configuration
  • Configuration basique

Status et log

  • Status
  • Plus d'options sur la commande status
  • Lister les fichiers d'un dépôt
  • Historique des validations
  • Format retour git log
  • Utilisatione la commande gitk

Démarrer un dépôt vide

  • Initialisation via init
  • L'option bare
  • La commande add

Commit

Commit

  • La commande commit
  • Pour les Unixiens
  • gitignore

Entre staging et commit

  • Modification de document
  • Commande rm et mv
  • Annuler les actions
  • Quelques commandes utiles
  • Les pointeurs HEAD et master
  • HEAD et master

Étiquettes

  • Étiquette légère annotée signée
  • Opération sur les étiquettes
  • Travailler avec une ancienne version
  • Pousser les étiquettes sur le serveur

Remote

Installer Git sur un serveur

  • Git sur un serveur
  • Création du dépot
  • Accès au serveur git
  • Git en accès public

Dépôt distant

  • Travailler avec un dépôt distant
  • Récupération via clone
  • Récupération des versions distantes
  • Soumission des modifications locales à un dépôt distant
  • Séquence de travail normale avec dépôt distant

Conflit

  • Conflit entre plusieurs utilisateurs
  • Les symboles de conflit dans les fichiers
  • Les conflits de fusion
  • Conflit
  • Résolution du conflit

Branches

Branches

  • Définitions
  • Principe branch/checkout
  • Principe de Branche après commit
  • Commandes
  • Visualiser la branche active

Merge

  • Merge
  • Résolution de conflit sur un merge
  • Fetch
  • HEAD^ et HEAD~
  • Remarques sur les HEAD
  • Exemple d'utilsation des HEAD

Particularismes

  • Branche détachée
  • Liste des branches
  • Supprimer une branche
  • Pousser les branches
  • Travail sur une branche distante
  • Effacer une branche distante

Rebaser

  • Rebaser
  • Conflit sur les rebase
  • Les dangers du rebase
  • Remiser
  • Supprimer une remise
  • Créer une branche à partir d'une remise
  • Cherry Pick

Méthodes

Éclaircissements

  • La commande reset
  • Différence entre checkout et reset
  • Le danger de reset
  • Git revert
  • Checkout
  • blame

Organisation et astuces

  • Taille des équipes
  • Remarque SVN Git
  • Interdire la branche master
  • Types de commit
  • Merge vs rebase
  • Complétions et alias
  • git lg

Personnalisation

  • Configuration
  • Les variables des fichiers config
  • Différences entre le mode ligne de commande et fichier de configuration
  • Configuration de l'outil de résolution des conflits
  • Remarques pour les outils de merge

Le cas des fichiers binaires

  • Problématique
  • .gitattributes
  • Utilisation des hooks
  • Écriture des hooks

Plomberie

Présentation

  • Plomberie et porcelaine
  • Les fichiers
  • Stockage des informations
  • Méchanisme de versions

Les arbres

  • Signification d'un arbre
  • Présentation des arbres
  • Visualisation d'un arbre
  • Arbres et commit

Références

  • Références
  • La branche HEAD

Opérations courantes

  • Supprimer un fichier de l'historique
  • Chercher les gros fichiers

Annexe

Gitolite

  • Présentation gitolite
  • Créer un dépôt avec gitolite
  • Groupes avec gitolite
  • Accéder au dépôt
  • Gérer les dépots et les utilisateurs avec gitolite

Références

  • Quelques ressources en ligne
  • Livres en français


Dates et tarifs

Inter entreprises

Intra entreprise

  • Région parisienne : 2600 HT
  • Autres zones : 2600 HT + Frais de déplacement
  • Dates : Consultez moi

Centres de formation partenaires

Changer de langue

Anglais (English, en)Français (fr)

Recherche