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
- Tarif : 1000 HT
- Dates : Consultez moi
Intra entreprise
- Région parisienne : 2600 HT
- Autres zones : 2600 HT + Frais de déplacement
- Dates : Consultez moi
Centres de formation partenaires
- Dates : Consultez moi