SlideShare une entreprise Scribd logo
1  sur  218
Télécharger pour lire hors ligne
19/04/2016
1
Formation Git alphorm.com™©
Formation
Découverte Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
2
Formation Git alphorm.com™©
Plan
• Présentation du formateur
• Plan de formation
• Objectifs de la formation
• Public concerné
• Les possibilités de Git
• Les connaissances requises
19/04/2016
2
Formation Git alphorm.com™©
Plan
• Présentation du formateur
• Plan de formation
• Objectifs de la formation
• Public concerné
• Les possibilités de Git
• Les connaissances requises
19/04/2016
2
Formation Git alphorm.com™©
Plan
• Présentation du formateur
• Plan de formation
• Objectifs de la formation
• Public concerné
• Les possibilités de Git
• Les connaissances requises
19/04/2016
2
Formation Git alphorm.com™©
Plan
• Présentation du formateur
• Plan de formation
• Objectifs de la formation
• Public concerné
• Les possibilités de Git
• Les connaissances requises
19/04/2016
2
Formation Git alphorm.com™©
Plan
• Présentation du formateur
• Plan de formation
• Objectifs de la formation
• Public concerné
• Les possibilités de Git
• Les connaissances requises
19/04/2016
2
Formation Git alphorm.com™©
Plan
• Présentation du formateur
• Plan de formation
• Objectifs de la formation
• Public concerné
• Les possibilités de Git
• Les connaissances requises
19/04/2016
2
Formation Git alphorm.com™©
Plan
• Présentation du formateur
• Plan de formation
• Objectifs de la formation
• Public concerné
• Les possibilités de Git
• Les connaissances requises
19/04/2016
9
Formation Git alphorm.com™©
Les connaissances requises
•Aucune !
19/04/2016
10
Formation Git alphorm.com™©
Liens et ressources
• https://git-scm.com/ : Site official de Git
• Http://github.com : Plateforme en ligne de Git
• http://gitref.org/ : Pour ne jamais oublier les commandes
• https://try.github.io/ : Pour s’entrainer
19/04/2016
11
Formation Git alphorm.com™©
Let’s Git ☺
19/04/2016
12
Formation Git alphorm.com™©
Gestion des versions
Présentation de GIT
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
13
Formation Git alphorm.com™©
Plan
• Qu’est-ce qu’un gestionnaire de version ?
• Les systèmes de gestion de version local
• Les systèmes de gestion de version centralisé
• Les systèmes de gestion de version distribué
19/04/2016
14
Formation Git alphorm.com™©
Qu’est-ce qu’un gestionnaire de version ?
• Un gestionnaire de version :
Enregistre les évolutions d’un fichier
Permets de revenir à une version précédente
Fonctionne avec tout type de fichier (.txt, .php, .java, .jpg, .exe, …)
Permets de retrouver un fichier supprimé
19/04/2016
15
Formation Git alphorm.com™©
Les systèmes de gestion de version locaux
19/04/2016
16
Formation Git alphorm.com™©
Les systèmes de gestion de version centralisés
19/04/2016
17
Formation Git alphorm.com™©
Les systèmes de gestion de version distribués
19/04/2016
18
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo 3 grandes méthodes de gestion des
versions pour nos fichiers.
• Git utilise la 3ème solution !
• La prochaine vidéo :
Les rudiments de GIT
19/04/2016
19
Formation Git alphorm.com™©
Rudiments de GIT
Présentation de GIT
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
20
Formation Git alphorm.com™©
Plan
• L’histoire de GIT
• Des instantanés, pas des différences
• Presque toutes les opérations sont locales
• Git gère l’intégrité
• Les trois états
19/04/2016
21
Formation Git alphorm.com™©
L’histoire de GIT
• Git est né avec une dose de destruction créative et de controverse
houleuse.
• Créé par Linus Trovalds, le créateur de Linux en 2005.
• Nouveaux objectifs:
Vitesse
Conception simple
Support pour les développements non linéaires
Complètement distribué
Capacité à gérer efficacement des projets d’envergure tels que le noyau Linux
19/04/2016
22
Formation Git alphorm.com™©
Des instantanés, pas des différences
• Beaucoup de VCS considèrent l’information qu’ils gèrent comme une
liste de fichiers et les modifications effectuées sur chaque fichier dans le
temps.
19/04/2016
23
Formation Git alphorm.com™©
Des instantanés, pas des différences
• Avec Git, à chaque fois que vous validez ou enregistrez l’état du projet,
il prend un instantané du contenu de votre espace de travail.
19/04/2016
24
Formation Git alphorm.com™©
Presque toutes les opérations sont locales
• La plupart des opérations de Git se font en local.
• Même pour chercher dans l’historique du projet.
• L’intégralité de la base de données est en locale.
19/04/2016
25
Formation Git alphorm.com™©
Git gère l’intégrité
• Dans Git, tout est vérifié par une somme de contrôle avant d’être stocké
et par la suite cette somme de contrôle, signature unique, sert de
référence.
• Impossible de perdre un fichier dans Git sans que Git s’en aperçoive.
• Les sommes de contrôle sont en SHA-1.
24b9da6552252987aa493b52f8696cd6d3b00373
19/04/2016
26
Formation Git alphorm.com™©
Les trois états
• Un fichier versionné sous Git peut être sous 3 états :
Validé, le fichier est sauvegardé en base.
Modifié, le fichier est modifié, la modification n’est pas en base.
Indexé, le fichier est modifié, et est prêt à être envoyé en base.
19/04/2016
27
Formation Git alphorm.com™©
Les trois états
• Ce qui nous donne trois sections principales d’un projet GIT
Validé = le répertoire .git
Modifié = Le répertoire de travail courant
Indexé = La zone virtuelle qui liste les fichiers qui seront dans le prochain
instantané
19/04/2016
28
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo :
Comment Git s’est créée.
Comment git a été conçu.
Comment git fonctionne.
• La prochaine vidéo :
Installation de GIT
19/04/2016
29
Formation Git alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
Installation de Git
Présentation de Git
19/04/2016
30
Formation Git alphorm.com™©
Plan
• Installation sous Linux
• Installation sous MacOS
• Installation sous Windows
• Installation à partir de source
19/04/2016
31
Formation Git alphorm.com™©
Installation sous Linux
• Généralement, présent sur paquet de votre distribution sous le nom de
‘git’
• Sur fedorat : dnf install git-all
• Sur Debian / Ubuntu : apt-get install git-all
• La liste des distributions est disponible à cette adresse :
https://git-scm.com/download/linux
19/04/2016
32
Formation Git alphorm.com™©
Installation sous MacOS
• Il existe plusieurs méthodes d’installation de Git sur un Mac. La plus
facile est probablement d’installer les Xcode Command Line Tools.
• Si vous voulez une version plus récente :
https://git-scm.com/download/mac
19/04/2016
33
Formation Git alphorm.com™©
Installation sous Windows
• Pour Windows :
http://git-scm.com/download/win
19/04/2016
34
Formation Git alphorm.com™©
Installation depuis les sources
• Pour installer Git, vous avez besoin des bibliothèques suivantes :
curl, zlib, openssl, expat, libiconv.
• Pour Linux :
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
autoconf
• Les sources sont disponibles sur ce site (miroir) :
https://github.com/git/git/releases
19/04/2016
35
Formation Git alphorm.com™©
Installation depuis les sources
• Procédure d’installation :
$ tar -zxf git-1.9.1.tar.gz
$ cd git-1.9.1
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
19/04/2016
36
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo comment installer Git pour
Linux, MacOS, Windows
À partir des sources
• La prochaine vidéo :
Paramétrage de Git
19/04/2016
37
Formation Git alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
Paramétrage de Git
Présentation de Git
19/04/2016
38
Formation Git alphorm.com™©
Plan
• Les fichiers de configuration
• Votre identité
• Votre éditeur de texte
• Vos paramètres
19/04/2016
39
Formation Git alphorm.com™©
Les fichiers de configuration
• Git contient un outils ‘git config’ pour modifier les paramètres de
configuration
• Git a 3 niveaux de configuration
Global au système : /etc/gitconfig, modifiable avec ‘git config -- system’
Global à l’utilisateur : ~/.gitconfig, modifiable avec ‘git config --global’
Global au projet : .git/config, modifiable avec ‘git config’
• Chaque niveau surcharge le précédent
19/04/2016
40
Formation Git alphorm.com™©
Votre identité
• La première chose à faire après l’installation de Git est de renseigner
votre nom et votre adresse email.
$ git config --global user.name "Edouard FERRARI"
$ git config --global user.email edouard@ferrari.wf
• Vu que nous configurons ces options avec –global, nous n’aurons pas
besoin de les reconfigurer à chaque projet.
19/04/2016
41
Formation Git alphorm.com™©
Votre éditeur de texte
• Nous faisons la même chose avec notre éditeur de texte.
$ git config --global core.editor emacs
19/04/2016
42
Formation Git alphorm.com™©
Vos paramètres
• Il est possible de vérifier nos paramètres :
$ git config --list
19/04/2016
43
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo comment paramétrer Git
• Le prochain chapitre :
Les bases de Git => Démarrer un dépôt Git
19/04/2016
44
Formation Git alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
Démarrer
un dépôt Git
Les bases de Git
19/04/2016
45
Formation Git alphorm.com™©
Plan
• Initialisation d’un dépôt Git
• Cloner un dépôt existant
19/04/2016
46
Formation Git alphorm.com™©
Initialisation d’un dépôt Git
• Dans votre projet, initialiser Git:
$ git init
• Un dossier .git apparait, l’initialisation est faite, mais aucun
fichier n’est versionné !
19/04/2016
47
Formation Git alphorm.com™©
Cloner un dépôt existant
• La commande pour récupérer un projet existant est ‘git clone’.
• Git reçoit une copie de quasiment toutes les données stockées dans le
serveur.
• S’il y a un problème avec le disque du serveur, vous aurez une copie
complète du projet (fichier et historique).
• Git gère le protocole http:// ou https://
• Mais aussi le protocole git://server.tld/projet.git. Ce protocole se base
sur ssh.
• Exemple :
$> git clone https://github.com/libgit2/libgit2
19/04/2016
48
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo comment :
Initialiser un projet
Cloner un project existant
• La prochaine vidéo :
Enregistrer des modifications dans le dépôt
19/04/2016
49
Formation Git alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
Enregistrer des
modifications dans le dépôt
Les bases de Git
19/04/2016
50
Formation Git alphorm.com™©
Plan
• Le fonctionnement
• Vérifier l’état des fichiers
• Placer de nouveaux fichiers sous suivi de version
• Indexer des fichiers modifiés
• Ignorer des fichiers
• Inspecter les modifications indexées et non indexées
• Valider vos modifications
• Passer l’étape de mise en index
• Effacer ou déplacer des fichiers
19/04/2016
51
Formation Git alphorm.com™©
Le fonctionnement
19/04/2016
52
Formation Git alphorm.com™©
Vérifier l’état des fichiers
• Pour connaitre l’état des fichiers de votre projet :
$ git status
• Si on ajoute un nouveau fichier dans le projet, git status nous donne
son nouvel état.
• Pour avoir un affichage plus concis :
$ git status -s
19/04/2016
53
Formation Git alphorm.com™©
Placer de nouveaux fichiers sous suivi de version
• Pour commencer à suivre un nouveau fichier, il faut utiliser la
commande :
$ git add <fichier>
• En faisant un ‘git status’, nous voyons que le fichier a changé d’état, le
fichier est indexé dans Git.
• La version du fichier à l’instant où vous l’enregistrer avec ‘git add’ sera
celle qui sera dans l’historique des instantanés.
• On peut ajouter des répertoires, git ajoutera à l’index tout le répertoire
récursivement.
19/04/2016
54
Formation Git alphorm.com™©
Indexer des fichiers modifiés
• Maintenant, modifions un fichier qui est déjà sous suivi de version.
• Puis observons le status avec ‘git status’.
• Le fichier modifié a le status “Modifications qui ne seront pas validées”,
le fichier n’est pas indexé.
• Pour indexer le fichier :
$ git add <fichier>
19/04/2016
55
Formation Git alphorm.com™©
Ignorer des fichiers
• Dans les projets, nous avons souvent des fichiers que nous ne voulons
pas ajouter à Git.
• Nous avons la possibilité de ne jamais les indexer avec ‘git add’.
• Sinon, nous pouvons indiquer à Git de les ignorer.
• Il faut rentrer la liste des fichiers dans le fichier .gitignore
• Les fichiers n’apparaitront plus dans ‘git status’.
$ cat .gitignore
*.[oa]
*~
19/04/2016
56
Formation Git alphorm.com™©
Ignorer des fichiers
• Les règles de construction des patrons à placer dans le fichier .gitignore
sont les suivantes :
Les lignes vides ou commençant par # sont ignorées.
Les patrons standards de fichiers sont utilisables.
Si le patron se termine par une barre oblique (/), il indique un répertoire.
Un patron commençant par un point d’exclamation (!) indique des fichiers à
inclure malgré les autres règles.
• Exemple de fichiers gitignore :
https://github.com/github/gitignore
19/04/2016
57
Formation Git alphorm.com™©
Inspecter les modifications indexées et non indexées
• Pour avoir une vision plus précise des changements faits sur les fichiers,
on utilise ‘git diff’.
• Cette commande répond aux questions :
Qu’est-ce qui a été modifié, mais pas encore indexé ?
Quelle modification a été indexée et est prête pour la validation ?
• git diff montre les changements ligne par ligne
• Pour voir les modifications qui font partie de la prochaine validation,
vous pouvez utiliser ‘git diff --cached’
19/04/2016
58
Formation Git alphorm.com™©
Valider vos modifications
• Une fois que votre index est dans l’état désiré, nous pouvons valider les
modifications.
• Rappel, ce qui n’est pas passé dans ‘git add’ ne fera pas partie de la
prochaine validation. Ils resteront en modifier sur votre disque.
• La commande pour valider est ‘git commit’
• Cette action lance votre editeur de texte par défaut.
• Les options :
-v : ajoute le diff dans le commentaire
-m ‘my comment’ : Pour ajouter directement un commentaire sans passer par
l’éditeur de texte.
• Une fois votre validation faite, votre commit a un id (SHA-1)
19/04/2016
59
Formation Git alphorm.com™©
Passer l’étape de mise en index
• La gestion de la zone d’index peut être longue si on ajoute tous les
fichiers un par un.
• git commit –a dit à git de placer tous les fichiers déjà suivis dans la zone
d’index.
19/04/2016
60
Formation Git alphorm.com™©
Effacer ou déplacer des fichiers
• Pour effacer un fichier de Git, vous devez l’éliminer des fichiers en suivi
de version (plus précisément, l’effacer dans la zone d’index) puis valider.
• Si vous effacez le fichier avec ‘rm <fichier>’, il apparaît sous la section «
Modifications qui ne seront pas validées » (c’est-à-dire, non indexé).
• Avec un ‘git rm <fichier>’, l’effacement du fichier est indexé.
19/04/2016
61
Formation Git alphorm.com™©
Effacer ou déplacer des fichiers
• À la différence des autres VCS, Git ne suit pas explicitement les
mouvements des fichiers, même s’il sera capable de voir qu’un fichier a
été déplacé.
• Il existe la commande ‘git mv <source> <destination>’ qui revient
exactement à :
$> mv <source> <destination>’
$> git rm <source>
$> git add <destination>’
19/04/2016
62
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo :
Comment ajouter un fichier à l’index
Comment indiqué à git que le fichier déjà suivi a été modifié et qu’on veut
l’ajouter à l’index
Comment créer un ‘commit’
Comment supprimer ou déplacer des fichiers.
• Prochaine vidéo :
Visualiser l'historique des validations
19/04/2016
63
Formation Git alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
Visualiser l'historique
des validations
Les bases de Git
19/04/2016
64
Formation Git alphorm.com™©
Plan
• Visualiser l’historique
• Les options principales
• L’option ‘pretty’
• Limiter la longueur de l’historique
19/04/2016
65
Formation Git alphorm.com™©
Visualiser l’historique
• Pour voir l’historique, il existe la commande ‘git log’
• Pour tester :
$> git clone --branch FR_319_03_02 https://github.com/didouard/project-
alphorm project-alphorm-FR_319_03_02
• Par défaut, git log invoqué sans argument énumère en ordre
chronologique inversé les commits réalisés.
19/04/2016
66
Formation Git alphorm.com™©
Les options principales
• git log dispose d’un très grand nombre d’options permettant de
paramétrer exactement ce que l’on cherche à voir :
19/04/2016
3
Formation Git alphorm.com™©
Présentation du formateur
Edouard FERRARI
• contact@ferrari.wf
• Développeur full stack chez Summview
• Mission de conseil, d’architecture et de migration
• Mes références :
LinkedIn : https://fr.linkedin.com/in/edouardferrari
Alphorm : http://www.alphorm.com/formateur/edouard-ferrari
Github : https://github.com/didouard
19/04/2016
68
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo :
Comment afficher l’historique de notre projet
Jouer avec le formatage
• Prochaine vidéo :
Annuler des actions
19/04/2016
69
Formation Git alphorm.com™©
Annuler des actions
Les bases de Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
70
Formation Git alphorm.com™©
Plan
• Modifier un commit
• Désindexer un fichier déjà indexé
• Réinitialiser un fichier modifié
19/04/2016
71
Formation Git alphorm.com™©
Modifier un commit
• /! Attention, certaines modifications sont permanentes.
• Il peut arriver que l’on valide une modification trop tôt en oubliant des
fichiers.
• Pour modifier un commit :
$> git commit --amend
• Cette commande va reprendre l’index du commit précédent.
• L’éditeur s’ouvre avec les modifications et le message.
• Il est possible de modifier uniquement le message du commit.
19/04/2016
72
Formation Git alphorm.com™©
Désindexer un fichier déjà indexé
• Imaginons que vous avez indexé trop de fichiers.
$> git reset HEAD <file>
19/04/2016
73
Formation Git alphorm.com™©
Réinitialiser un fichier modifié
• Pour faire revenir un fichier au niveau du précédent checkout :
$> git checkout -- <fichier>
• Attention, vous perdrez définitivement les modifications apportées au
fichier depuis le dernier checkout.
• Si vous souhaitez seulement écarter momentanément cette
modification, nous verrons comment mettre de côté et créer des
branches
19/04/2016
74
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo :
Comment modifier un commit.
Comment désindexer un fichier déjà indexé.
Comment réinitialiser un fichier modifié.
• La prochaine vidéo :
Travailler avec des dépôts distants
19/04/2016
75
Formation Git alphorm.com™©
Travailler avec
des dépôts distants
Les bases de Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
76
Formation Git alphorm.com™©
Plan
• Introduction
• Afficher les dépôts distants
• Afficher les dépôts distants
• Récupérer et tirer depuis des dépôts distants
• Pousser son travail sur un dépôt distant
• Inspecter un dépôt distant
• Retirer et renommer des dépôts distants
19/04/2016
77
Formation Git alphorm.com™©
Introduction
• Pour pouvoir collaborer sur un projet Git, il est nécessaire de savoir
comment gérer les dépôts distants.
• Les dépôts distants sont des versions de votre projet qui sont
hébergées sur Internet ou le réseau d’entreprise.
• Vous pouvez en avoir plusieurs, pour lesquels vous pouvez avoir des
droits soit en lecture seule, soit en lecture/écriture.
• Nous allons voir comment :
Ajouter des dépôts distants.
Effacer des dépôts distants.
19/04/2016
78
Formation Git alphorm.com™©
Afficher les dépôts distants
• Pour visualiser les serveurs distants que vous avez enregistré, vous
pouvez lancer la commande ‘git remote’.
• Si vous avez cloné notre projet, vous devez avoir au moins un dépôt
distant : ‘origin’.
• Vous pouvez aussi spécifier ‘-v’, qui vous montre l’URL que Git a stocké
pour chaque nom court.
19/04/2016
79
Formation Git alphorm.com™©
Ajouter des dépôts distants
• Pour ajouter des dépôts distants :
$> git remote add johnpatrick https://github.com/johnpatrick/monprojet
19/04/2016
80
Formation Git alphorm.com™©
Récupérer et tirer depuis des dépôts distants
• Pour récupérer les données d’un dépôt distant :
$> git fetch [nom du repos distant]
• Cette commande s’adresse au dépôt distant et récupère toutes les
données de ce projet que vous ne possédez pas déjà.
• Si vous clonez un dépôt, le dépôt distant est automatiquement ajouté
sous le nom « origin ».
• Si le dépôt est différent que celui ajouté par défaut, les branches seront
ajoutées dans ‘<nom du dépôt distant>/master’.
19/04/2016
81
Formation Git alphorm.com™©
Pousser son travail sur un dépôt distant
• Lorsque votre dépôt vous semble prêt à être partagé, vous pouvez le
poussé à votre dépôt distant :
$> git push [dépôt distant] [nom-de-la-branche]
$> git push origin master
19/04/2016
82
Formation Git alphorm.com™©
Inspecter un dépôt distant
• Pour avoir plus d’informations sur un dépôt distant :
$> git remote show [dépôt distant]
19/04/2016
83
Formation Git alphorm.com™©
Retirer et renommer des dépôts distants
• Pour renommer une référence :
$> git remote rename johnpatrick janebob
• Pour supprimer une référence :
$> git remote rm janebob
19/04/2016
84
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo :
Comment afficher, ajouter, renommer et supprimer les dépôts distants
Comment pousser et tirer son travail d’un dépôt distant.
Comment inspecter un dépôt distant
• La prochaine vidéo :
L’Étiquetage
19/04/2016
85
Formation Git alphorm.com™©
Étiquetage
Les bases de Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
86
Formation Git alphorm.com™©
Plan
• Introduction
• Lister vos étiquettes
• Créer des étiquettes
• Les étiquettes annotées
• Les étiquettes légères
• Étiqueter après coup
• Partager les étiquettes
• Extraire une étiquette
19/04/2016
87
Formation Git alphorm.com™©
Introduction
• À l’instar de la plupart des VCS, Git donne la possibilité d’étiqueter un
certain état dans l’historique comme important.
• Généralement, on utilise cette fonctionnalité pour marquer les versions
d’un projet (v1.0.0, v1.0.42, v2.0.1, …)
• Nous verrons comment :
Lister les différentes étiquettes
Comment créer de nouvelles étiquettes
Voir tous les types d’étiquettes
19/04/2016
88
Formation Git alphorm.com™©
Lister vos étiquettes
• Pour lister les étiquettes :
$> git tag
Les étiquettes sont listées par ordre alphabétique
• Pour faire une recherche :
$> git tab –l ’v1.0.*’
19/04/2016
89
Formation Git alphorm.com™©
Créer des étiquettes
• Git utilise deux types d’étiquettes :
Étiquette légère
Étiquette annotée
• Une étiquette légère ressemble beaucoup à une branche qui ne change
pas, c’est juste un pointeur sur un commit spécifique.
• Les étiquettes annotées, par contre, sont stockées en tant qu’objets à
part entière dans la base de données de Git
19/04/2016
90
Formation Git alphorm.com™©
Les étiquettes annotées
• Créer des étiquettes annotées est simple avec Git :
$> git tag –a v1.1.0 –m ’Ma version 1.1.0’
• Puis pour afficher en détails votre nouveau tag :
$>git show v1.1.0
19/04/2016
91
Formation Git alphorm.com™©
Les étiquettes légères
• Les étiquettes légères vont tout simplement stocker la somme de
contrôle d’un commit dans un fichier. Aucune information n’est
enregistrée avec l’étiquette.
$> git tag
19/04/2016
92
Formation Git alphorm.com™©
Étiqueter après coup
• Il est possible d’étiqueter des anciens commit :
git tag –a v1.0.0 9b92f3b
19/04/2016
93
Formation Git alphorm.com™©
Partager les étiquettes
• Par défaut, la commande git push ne transfère pas les étiquettes vers
les serveurs distants.
• Il faut explicitement pousser les étiquettes après les avoir créées
localement.
$> git push origin v1.1.0
• Pour pouvoir pousser toutes les étiquettes que nous avons créé
localement :
$> git push origin --tags
19/04/2016
94
Formation Git alphorm.com™©
Extraire une étiquette
• Pour se placer à la position d’un commit étiqueté :
git checkout –b v1.1.0
• Grâce à ce mécanisme, nous pouvons naviguer à travers les différentes
versions de notre projet
19/04/2016
95
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo toutes les choses que git nous propose
avec les étiquettes.
• Les étiquettes sont très utilisées en entreprise.
• Prochain chapitre:
Les branches avec Git
19/04/2016
96
Formation Git alphorm.com™©
Les branches en bref
Les branches avec Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
97
Formation Git alphorm.com™©
Plan
• Introduction
• Créer une nouvelle branche
• Basculer entre les branches
19/04/2016
98
Formation Git alphorm.com™©
Introduction
• Presque tous les VCS proposent une certaine forme de gestion de
branches.
• Créer une branche signifie diverger de la ligne principale de
développement et continuer à travailler sans impacter cette ligne.
$> git add README test.rb LICENSE
$> git commit -m 'initial commit of my project'
19/04/2016
99
Formation Git alphorm.com™©
Introduction
19/04/2016
100
Formation Git alphorm.com™©
Introduction
19/04/2016
101
Formation Git alphorm.com™©
Introduction
19/04/2016
102
Formation Git alphorm.com™©
Créer une nouvelle branche
• Pour créer une nouvelle branche :
$> git branch testing
19/04/2016
103
Formation Git alphorm.com™©
Créer une nouvelle branche
• Pour savoir sur quelle branche git se trouve actuellement, il ajoute un
pointeur spécial.
• Pour vérifier cela :
$> git log --oneline --decorate
19/04/2016
104
Formation Git alphorm.com™©
Basculer entre les branches
• Pour changer de branche :
$> git checkout testing
• Cela a pour effet de déplacer HEAD.
• Qu’est ce qu’il se passerait si nous créons un commit ?
19/04/2016
105
Formation Git alphorm.com™©
Basculer entre les branches
• On édite un fichier et on crée un commit :
$> git commit –a –m ’nouvelle modification’
• Et si on revient sur ‘master’ ?
19/04/2016
106
Formation Git alphorm.com™©
Basculer entre les branches
$> git checkout master
• Cette commande a provoqué deux changements :
Mettre le pointeur HEAD sur master.
Elle a remplacé les fichiers de votre répertoire dans l’état du snapshot pointé
par master.
19/04/2016
107
Formation Git alphorm.com™©
Basculer entre les branches
• On continue nos tests.
• Faisons encore une modification dans un fichier et créons un nouveau
commit.
• À quoi ressemble notre arbre ?
19/04/2016
108
Formation Git alphorm.com™©
Basculer entre les branches
• On peut retrouver cet arbre avec :
$> git log --oneline --decorate --graph --all
$> gitk --all
19/04/2016
109
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu et compris :
Comment fonctionnent les branches
Comment les créer
Comment sauter d’une branche à l’autre.
• La prochaine vidéo :
Branches et fusions : les bases
19/04/2016
110
Formation Git alphorm.com™©
Branches et fusions :
les bases
Les branches avec Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
111
Formation Git alphorm.com™©
Plan
• Scénario
• Mise en place
• Développement du correctif
• Téléphone
• Modification du site internet
• Retour sur le correctif
• Une fusion un peu spéciale
19/04/2016
112
Formation Git alphorm.com™©
Scénario
• Vous effectuez les tâches suivantes :
vous travaillez sur un site web ;
vous créez une branche pour un nouvel article en cours ;
vous commencez à travailler sur cette branche.
• À cette étape, vous recevez un appel pour vous dire qu’un problème critique a
été découvert et qu’il faut le régler au plus tôt. Vous faites donc ce qui suit :
vous basculez sur la branche de production ;
vous créez une branche pour y ajouter le correctif ;
après l’avoir testé, vous fusionnez la branche du correctif et poussez le résultat en
production ;
• vous rebasculez sur la branche initiale et continuez votre travail.
19/04/2016
113
Formation Git alphorm.com™©
Mise en place
• Nous avons notre projet qui ressemble à ça :
• On décide de travailler sur le problème #53, on crée une branche et on
se place dessus.
$> git checkout –b iss53
• Équivalent à :
$> git branch iss53
$> git checkout iss53
19/04/2016
114
Formation Git alphorm.com™©
Développement du correctif
• Notre projet ressemble donc à cela et HEAD est sur iss53.
• Nous faisons une modification et nous créons un nouveau commit :
$> git commit –a –m ’Résolution d’un premier bug’
19/04/2016
115
Formation Git alphorm.com™©
Téléphone
• Notre projet ressemble à cela :
• Le téléphone sonne, il faut qu’on fasse immédiatement une
modification sur le site internet.
$> git checkout master
19/04/2016
116
Formation Git alphorm.com™©
Modification du site internet
• Nous allons développer notre modification urgente en créant une
nouvelle branche:
$> git checkout –b hotfix
• On modifie notre code.
• On crée un commit :
$> git commit –a –m ’correction de l’adresse email’
• À quoi ressemble notre arbre ?
19/04/2016
117
Formation Git alphorm.com™©
Modification du site internet
• Notre arbre ressemble à :
19/04/2016
4
Formation Git alphorm.com™©
Mes formations
• Cursus complet sur NodeJS
19/04/2016
119
Formation Git alphorm.com™©
Retour sur le correctif
• On retourne sur le correctif
$> git checkout iss53
• On continue nos développements
• On commit les nouvelles modifications
$> git commit –a – m ’Résolution deuxième bug, donc problème #53 corrigé’
• À quoi ressemble notre arbre ?
19/04/2016
120
Formation Git alphorm.com™©
Retour sur le correctif
19/04/2016
121
Formation Git alphorm.com™©
Une fusion un peu spéciale
• On se place sur ‘master’ :
$> git checkout master
• On fusionne les deux branches
$> git merge iss53
• Qu’est ce qu’il se passe dans ce cas ?
19/04/2016
122
Formation Git alphorm.com™©
Une fusion un peu spéciale
19/04/2016
123
Formation Git alphorm.com™©
Une fusion un peu spéciale
• Git crée un nouveau commit qui contient le fusion de C4 et C5.
19/04/2016
124
Formation Git alphorm.com™©
Un conflit
• Si nous modifions le même fichier dans deux branches qui seront
fusionnées, il est possible que Git n’arrive plus à faire une fusion.
• La procédure est la suivante :
$> git checkout master
$> git merge future_conflit
• Un conflit apparait, on rentre dans le(s) fichier(s) incriminé(s) et corrige
le conflit.
$> git add <les fichiers>
$> git commit –m ’message’
19/04/2016
125
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons un scénario typique d’utilisation des branches en
entreprise.
• Prochaine vidéo:
Gestion des branches
19/04/2016
126
Formation Git alphorm.com™©
Gestion des branches
Les branches avec Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
127
Formation Git alphorm.com™©
Plan
• Lister les branches
• Les branches fusionnées et non fusionnées
• Supprimer une branche
19/04/2016
128
Formation Git alphorm.com™©
Lister les branches
• Maintenant que vous avez créé, fusionné et supprimé des branches,
regardons de plus près les outils.
• ‘git branch’, sans argument, permet de lister les branches en local.
$> git branch
• Pour avoir un peu plus d’informations
$> git branch -v
19/04/2016
129
Formation Git alphorm.com™©
Les branches fusionnées et non fusionnées
• Les options --merged et --no-merge sont des options très utiles.
• Pour avoir la liste des branches déjà fusionnées:
$> git branch --merged
• Pour avoir la liste des branches pas encore fusionnées :
$> git branch --no-merged
19/04/2016
130
Formation Git alphorm.com™©
Supprimer une branche
• Pour supprimer une branche :
$> git branch –d <branche à supprimer>
19/04/2016
131
Formation Git alphorm.com™©
Ce qu’on a couvert
• Dans cette vidéo, nous avons vu comment lister les branches
Toutes les branches locales.
Toutes les branches déjà fusionnées.
Toutes les branches pas encore fusionnées.
• La prochaine vidéo :
Travailler avec les branches
19/04/2016
132
Formation Git alphorm.com™©
Travailler avec
les branches
Les branches avec Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
133
Formation Git alphorm.com™©
Plan
•Branche au long cours
•Branche thématique
19/04/2016
134
Formation Git alphorm.com™©
Branche au long cours
19/04/2016
135
Formation Git alphorm.com™©
Branche au long cours
19/04/2016
136
Formation Git alphorm.com™©
Branche thématique
19/04/2016
137
Formation Git alphorm.com™©
Branche thématique
19/04/2016
138
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo :
Différent type de branches.
Comment on s’organise en entreprise.
• Vidéo suivante :
Les branches distantes
19/04/2016
139
Formation Git alphorm.com™©
Introduction aux
branches distantes
Les branches avec Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
140
Formation Git alphorm.com™©
Plan
• Branches distantes
• Pousser les branches
19/04/2016
141
Formation Git alphorm.com™©
Branches distantes
• Les références distantes sont des références (pointeurs) vers les
éléments de votre dépôt distant tels que les branches, les tags, etc…
• Pour obtenir la liste complète de ces références :
$> git ls-remote <remote>
• Les branches distantes sont des références (des pointeurs) vers l’état
des branches sur votre dépôt distant.
• Elles sont sous la force <distant>/<branche>
19/04/2016
142
Formation Git alphorm.com™©
Branches distantes
19/04/2016
143
Formation Git alphorm.com™©
Branches distantes
19/04/2016
5
Formation Git alphorm.com™©
Plan de la formation
• Présentation de Git
Gestion des versions
Rudiments de Git
Installation de Git
Paramétrage de Git
• Les bases de Git
Démarrer un dépôt Git
Enregistrer des modifications dans le dépôt
Visualiser l'historique des validations
Annuler des actions
Travailler avec des dépôts distants
Étiquetage
• Les branches avec Git
Les branches en bref
Branches et fusions : les bases
Gestion des branches
Travailler avec les branches
Branches distantes
Rebaser (Rebasing)
• Github
Configuration et paramétrage d’un compte
Contribution à un projet
"Github flavored Markdown"
Maintenance d’un projet
Gestion d’un regroupement
Écriture de scripts pour GitHub
19/04/2016
145
Formation Git alphorm.com™©
Branches distantes
19/04/2016
146
Formation Git alphorm.com™©
Branches distantes
19/04/2016
147
Formation Git alphorm.com™©
Pousser les branches
• Vos branches locales ne sont pas automatiquement synchronisées sur
les serveurs distants.
• Vous devez pousser explicitement les branches que vous souhaitez
partager.
• Pour pusher une branche :
$> git push <distant> <branche>
• La prochaine fois qu’un de vos collègues récupérera les données depuis
le serveur, il récupérera la branche distante créée.
19/04/2016
148
Formation Git alphorm.com™©
Pousser les branches
• Il est important de noter que lorsque vous récupérez une nouvelle
branche depuis un serveur distant, vous ne créez pas automatiquement
une copie locale éditable.
• Mais seulement un pointeur sur la branche distante qui n’est pas
directement modifiable.
• Pour fusionner ce travail dans votre branche de travail :
$> git merge origin/branchejohnpatrick
• Si vous ne souhaitez pas fusionner la branche distante avec votre travail,
vous pouvez créer une nouvelle branche et copier le travail dedans :
$> git checkout –b branchejohnpatrick origin/branchejohnpatrick
19/04/2016
149
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo :
Comment s’organiser en entreprise.
Comment pousser une branche distante.
• Vidéo suivante :
Intéragir avec les branches distantes
19/04/2016
150
Formation Git alphorm.com™©
Interagir avec les
branches distantes
Les branches avec Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
151
Formation Git alphorm.com™©
Plan
• Suivre les branches
• Tirer une branche (Pulling)
• Suppression de branches distantes
19/04/2016
152
Formation Git alphorm.com™©
Suivre les branches
• L’extraction d’une branche locale à partir d’une branche distante crée
automatiquement ce qu’on appelle une « branche de suivi ».
• Si nous rentrons la commande ‘git push’, Git sélectionne
automatiquement le serveur vers lequel pousser vos modifications.
• Pour connaitre la branche suivie :
$> git branch –vv
• Pour changer la branche suivie :
$> git branch –u origin/nouvellebranchesuivie
$> git branch --set-upstream-to origin/nouvellebranchesuivie
19/04/2016
153
Formation Git alphorm.com™©
Tirer une branche (Pulling)
• La commande ‘git fetch’ récupère l’ensemble des changements présents
sur le serveur, mais elle ne modifie en rien votre répertoire de travail.
• Il faut faire un ‘git merge’ pour fusionner les nouveaux changements.
• La commande ‘git pull’ va faire un ‘git fetch’ et ‘git merge’ d’un coup.
$> git pull
19/04/2016
154
Formation Git alphorm.com™©
Suppression de branches distantes
• Pour supprimer une branche :
$> git push origin --delete <branche>
19/04/2016
155
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu dans cette vidéo :
Comment suivre une branche distante.
Comment tirer une branche.
Comment supprimer une branche.
• Vidéo suivante :
Rebaser (Rebasing)
19/04/2016
156
Formation Git alphorm.com™©
Rebaser (Rebasing)
Les branches avec Git
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
157
Formation Git alphorm.com™©
Plan
• Introduction
• Les bases
• Rebases plus intéressant
• Les dangers du rebasage
• Rebaser quand vous rebasez
• Rebaser ou fusionner ?
19/04/2016
158
Formation Git alphorm.com™©
Introduction
• Il y a deux façons d’intégrer des modifications dans une branche :
En fusionnant (merge)
En rebasant (rebase)
19/04/2016
159
Formation Git alphorm.com™©
Les bases
19/04/2016
160
Formation Git alphorm.com™©
Les bases
19/04/2016
161
Formation Git alphorm.com™©
Les bases
• La commande ‘rebase’, Git va prendre toutes les modifications qui ont
été validées sur une branche et les rejouer sur une autre.
$> git rebase master
19/04/2016
162
Formation Git alphorm.com™©
Rebases plus intéressant
• On veut fusionner nos modifications de ‘client’ avec ‘master’ mais on
veut retenir la branche ‘master’
$> git rebase --onto master server client
• "Extraire la branche client, déterminer les patchs depuis l’ancêtre
commun des branches client et serveur puis les rejouer sur master "
19/04/2016
163
Formation Git alphorm.com™©
Rebases plus intéressant
• Et maintenant, on peut avancer ‘master’.
$> git checkout master
$> git merge client
19/04/2016
164
Formation Git alphorm.com™©
Rebases plus intéressant
• Et maintenant, la branche ‘server’ à partir de la branche ‘master’
$> git rebase master server
• Une avance rapide sur la branche ‘master’:
$> git checkout master
$> git merge serveur
19/04/2016
165
Formation Git alphorm.com™©
Rebases plus intéressant
• Et on peut supprimer les branches restantes :
$> git branch –d client
$> git branch –d server
19/04/2016
166
Formation Git alphorm.com™©
Les dangers du rebasage
• Ne rebasez jamais des commits qui ont déjà été poussés sur un dépôt
public.
19/04/2016
167
Formation Git alphorm.com™©
Les dangers du rebasage
19/04/2016
168
Formation Git alphorm.com™©
Les dangers du rebasage
19/04/2016
169
Formation Git alphorm.com™©
Les dangers du rebasage
19/04/2016
170
Formation Git alphorm.com™©
Rebaser quand vous rebasez
19/04/2016
171
Formation Git alphorm.com™©
Rebaser ou fusionner
• C’est très important de conserver votre historique intact.
• Une fusion (merge) va créer un commit
• Un rebase va réagencer les commits et suivre l’historique
19/04/2016
172
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous maitrisons le rebase parfaitement.
• Nous avons vu plusieurs exemples de rebase.
• À vous de faire un choix ! ;-)
• Prochain chapitre:
Github
19/04/2016
173
Formation Git alphorm.com™©
Création et configuration
d’un compte
Github
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
174
Formation Git alphorm.com™©
Plan
• Inscription
• Accès par SSH
• Vos adresses emails
• Authentification à deux facteurs
19/04/2016
175
Formation Git alphorm.com™©
Inscription
• Créons-nous un compte sur : https://github.com
• N’oubliez pas de vérifier votre compte grâce à l’email que
vous avez reçu.
19/04/2016
176
Formation Git alphorm.com™©
Accès par SSH
• Si vous voulez joindre les serveurs de github par SSH, il faut
ajouter vos clefs SSH.
• Setting -> SSH keys
• Et vous ajoutez votre clef publique.
19/04/2016
177
Formation Git alphorm.com™©
Vos adresses électroniques
• Github utilise les adresses électroniques pour faire
correspondre les commits Git aux utilisateurs.
• Pour ajouter les adresses électroniques :
Setting -> Emails
19/04/2016
178
Formation Git alphorm.com™©
Authentification en deux facteurs
• L’authentification à deux facteurs est un mécanisme
d’authentification qui est devenu très populaire récemment
pour réduire les risques de corruption de votre compte si
votre mot de passe est dérobé.
Setting -> Security
• Soit par une application
• Soit par un SMS
19/04/2016
179
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons désormais un compte git
• La prochaine vidéo :
Contribution à un compte
19/04/2016
180
Formation Git alphorm.com™©
Contribution
à un projet
Github
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
181
Formation Git alphorm.com™©
Plan
• Dupliquer un projet
• Processus Github
19/04/2016
182
Formation Git alphorm.com™©
Dupliquer un projet
•C’est simple !
https://github.com/didouard/project-alphorm
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
6
Formation Git alphorm.com™©
Objectifs de la formation
• Étudier Git pour pouvoir l’utiliser pour des projets personnels ou
professionnels.
• Git surclasse les autres outils SCM (Source Code Management) par sa
performance, la taille des dépôts et ses fonctionnalités uniques.
• Dans cette formation nous allons étudier en profondeur les
fondamentaux de Git. Bien comprendre les bases, pour voir des notions
plus complexes lors de la seconde formation.
• A l’issue de la formation, vous aurez appris à configurer et utiliser GIT
dans un contexte de gestion quotidienne des sources d’un projet
professionnel.
19/04/2016
195
Formation Git alphorm.com™©
Gestion des requêtes de tirage
• À partir de là, on peut lancer une conversation si nous avons des
questions concernant ce pull request.
• Une fois que vous êtes ok pour le pull request, vous avez le choix
De faire un ‘git pull <url> <branch>’
D’ajouter le clone comme un dépôt distance, le récupérer et le fusionner
De cliquer sur le bouton ‘Merge’ sur le site internet.
19/04/2016
196
Formation Git alphorm.com™©
Mentions et notifications
• GitHub dispose également d’un système de notifications qui peut
devenir utile lorsque vous avez des questions de certaines personnes ou
d’équipes.
• Dans tous les commentaires, si vous saisissez le caractère @, cela
commence à proposer des noms et des noms d’utilisateur de personnes
qui collaborent ou contribuent au projet.
• Une fois le commentaire posté, tous ceux qui sont tagués recevront une
notification.
• Il est possible de se désinscrire de ces notifications :
Setting -> Notification center
19/04/2016
197
Formation Git alphorm.com™©
Fichiers spéciaux
• Le premier est le fichier README (LISEZ-MOI) qui peut être écrit sous
n’importe quel format textuel reconnu par GitHub.
• Il contient habituellement des choses comme :
À quoi sert le projet.
Comment le configurer et l’installer.
Un exemple d’utilisation et comment le lancer.
La licence sous laquelle le projet est proposé.
Comment y contribuer.
19/04/2016
198
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu comment gérer un projet.
• Prochaine vidéo :
Gestion d’un regroupement
19/04/2016
199
Formation Git alphorm.com™©
Gestion d’un
regroupement
Github
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
200
Formation Git alphorm.com™©
Plan
• Introduction
• Les bases d’un regroupement
• Équipes
• Journal d’audit
19/04/2016
201
Formation Git alphorm.com™©
Introduction
• Les regroupements sont des ‘Organisations’.
• Ce sont comme des comptes personnels :
Dépôts
Suivi
• Ces comptes représentent un groupe de personnes qui partagent la
propriété de projets et de nombreux outils de gestion de sous-groupes
parmi ces personnes sont proposés.
• Normalement ces comptes sont utilisés pour des groupes open source
(tels que « perl » ou « rail ») ou des sociétés (comme « google » ou
« twitter »).
19/04/2016
202
Formation Git alphorm.com™©
Les bases d’un regroupement
• Pour créer un regroupement :
• Puis il faut trouver :
Un nom
Un email
Inviter d’autres utilisateurs
Les regroupements sont gratuits si tout ce que vous envisagez d’enregistrer
est open source.
19/04/2016
203
Formation Git alphorm.com™©
Équipes
• Il est possible de créer des équipes (team)
• On peut associer certains utilisateurs à certaines équipes
• Lorsque vous invitez quelqu’un dans une équipe, celui-ci reçoit un
courriel lui indiquant qu’il a été invité.
19/04/2016
204
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu les regroupements pour les grandes entreprises ou les
grands projets.
• Prochaine vidéo:
Écriture de scripts pour GitHub
19/04/2016
205
Formation Git alphorm.com™©
Écriture de scripts
pour GitHub (Hooks)
Github
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
19/04/2016
206
Formation Git alphorm.com™©
Plan
• Les services
• Les webhooks
• L’interface de programmation (API) GitHub
• Commenter un problème
• Changer le statut d’une requête de tirage
• Octokit
19/04/2016
207
Formation Git alphorm.com™©
Les services
• La section « Hooks & Services » (crochets et services) de
l’administration de dépôt GitHub est la façon la plus facile de faire
interagir GitHub avec des systèmes externes.
• Ils sont accessibles dans Setting -> Webhooks et Services
• On trouve énormément de liens vers :
des services d’intégration continue
des analyseurs de bogues et d’anomalies
des systèmes de salon de discussion
des systèmes de documentation
19/04/2016
208
Formation Git alphorm.com™©
Les webhooks
• Si vous avez besoin de quelque chose de plus spécifique, quelque chose
qui n’est pas présent dans les services, on peut utiliser les webhooks.
• Les webhooks sont des inscriptions à des évènements.
• À chaque évènement, github va appeler une URL en POST
19/04/2016
209
Formation Git alphorm.com™©
L’interface de programmation (API) GitHub
• Github met à disposition une API pour avoir plus d’informations.
• https://developer.github.com/v3/
• Presque tout ce que nous pouvons faire à partir du site internet de
Github peut être fait avec l’API
• Certaines requêtes nécessitent une authentification.
• Exemple simple :
$> curl https://api.github.com/users/<username>
$> curl https://api.github.com/gitignore/templates/Java
19/04/2016
210
Formation Git alphorm.com™©
L’interface de programmation (API) GitHub
• Il y a plusieurs méthodes d’authentification :
Basic
Jeton d’accès personnel (Personnal setting -> Personal access token)
• Exemple plus complexe :
$> curl https://api.github.com/repos/<utilisateur>/<dépôt>/issues/<num>/comments
curl -H "Content-Type: application/json" 
-H "Authorization: token TOKEN" 
--data '{"body":"A new comment, :+1:"}' 
https://api.github.com/repos/didouard/blink/issues/6/comments
19/04/2016
211
Formation Git alphorm.com™©
L’interface de programmation (API) GitHub
• On peut faire un peu prêt tout ce que l’on peut faire avec le site internet :
créer et définir des jalons
assigner des gens à des problèmes ou à des requêtes de tirage
créer et changer des étiquettes
accéder à des données de commit
créer de nouveaux commits et des branches
ouvrir, fermer ou fusionner des requêtes de tirage,
créer et éditer des équipes
commenter des lignes de code dans une requête de tirage
bien plus encore.
19/04/2016
212
Formation Git alphorm.com™©
Octokit
• Octokit est le nom de plusieurs clients pour l’API Github, aujourd’hui disponible :
.NET
Ruby roolkit
Simple Go
Objective-C
Python
• https://github.com/octokit
19/04/2016
213
Formation Git alphorm.com™©
Ce qu’on a couvert
• Nous avons vu comment interagir avec Github, soit
En s’inscrivant à des événements.
En interrogeant ou modifiant nos dépôts sur Github.
• Prochaine vidéo:
La conclusion !
19/04/2016
214
Formation Git alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Édouard FERRARI
Formateur et Consultant indépendant
Contact : edouard.ferrari@gmail.com
Conclusion
19/04/2016
215
Formation Git alphorm.com™©
Ce qu’on a couvert
• Comment installer et paramétrer GIT
• Les différents états des fichiers
• Les branches, les fusions et les rebases
• Les branches distantes
• Création de comptes github
• Contribution et gestion d’un projet Github
• Prochaine formation:
Git, avancé
19/04/2016
216
Formation Git alphorm.com™©
Avez-vous des Questions / Remarques / Commentaires ?
19/04/2016
217
Formation Git alphorm.com™©
A la 2ème formation sur Git
19/04/2016
218
Formation Git alphorm.com™©
À bientôt ☺
Keep in touch !
E-mail : edouard@ferrari.wf
Linkedin : https://fr.linkedin.com/in/edouardferrari
Twitter : https://twitter.com/edouard_ferrari
Alphorm : http://www.alphorm.com/formateur/edouard-ferrari

Contenu connexe

Tendances

Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 

Tendances (20)

Docker
DockerDocker
Docker
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Ansible-cours .pdf
Ansible-cours .pdfAnsible-cours .pdf
Ansible-cours .pdf
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
 
Les bases de git
Les bases de gitLes bases de git
Les bases de git
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Difference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs BitbucketDifference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs Bitbucket
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Tutoriel GIT
Tutoriel GITTutoriel GIT
Tutoriel GIT
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 

En vedette

Alphorm.com Formation CND 2/2: Réussir la certification
Alphorm.com Formation CND 2/2: Réussir la certificationAlphorm.com Formation CND 2/2: Réussir la certification
Alphorm.com Formation CND 2/2: Réussir la certification
Alphorm
 
Alphorm.com Support de la formation JavaScript les fondamentaux
Alphorm.com Support de la formation JavaScript les fondamentauxAlphorm.com Support de la formation JavaScript les fondamentaux
Alphorm.com Support de la formation JavaScript les fondamentaux
Alphorm
 
Alphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQLAlphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQL
Alphorm
 
Alphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows ContainersAlphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows Containers
Alphorm
 

En vedette (20)

Alphorm.com Formation CND 2/2: Réussir la certification
Alphorm.com Formation CND 2/2: Réussir la certificationAlphorm.com Formation CND 2/2: Réussir la certification
Alphorm.com Formation CND 2/2: Réussir la certification
 
Alphorm.com Support de la Formation MDT 2013 Update 2 : Maîtrisez le déploiem...
Alphorm.com Support de la Formation MDT 2013 Update 2 : Maîtrisez le déploiem...Alphorm.com Support de la Formation MDT 2013 Update 2 : Maîtrisez le déploiem...
Alphorm.com Support de la Formation MDT 2013 Update 2 : Maîtrisez le déploiem...
 
alphorm.com - Formation Programmer en C++
alphorm.com - Formation Programmer en C++alphorm.com - Formation Programmer en C++
alphorm.com - Formation Programmer en C++
 
Alphorm.com Formation TypeScript
Alphorm.com Formation TypeScriptAlphorm.com Formation TypeScript
Alphorm.com Formation TypeScript
 
Alphorm.com Formation Implémenter une PKI avec ADCS 2012 R2
Alphorm.com Formation Implémenter une PKI avec ADCS 2012 R2 Alphorm.com Formation Implémenter une PKI avec ADCS 2012 R2
Alphorm.com Formation Implémenter une PKI avec ADCS 2012 R2
 
alphorm.com - Formation UML
alphorm.com - Formation UMLalphorm.com - Formation UML
alphorm.com - Formation UML
 
Alphorm.com Support de la formation JavaScript les fondamentaux
Alphorm.com Support de la formation JavaScript les fondamentauxAlphorm.com Support de la formation JavaScript les fondamentaux
Alphorm.com Support de la formation JavaScript les fondamentaux
 
Alphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQLAlphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQL
 
Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0
 
Alphorm.com Formation Azure Active Directory RMS et Azure Information Protection
Alphorm.com Formation Azure Active Directory RMS et Azure Information ProtectionAlphorm.com Formation Azure Active Directory RMS et Azure Information Protection
Alphorm.com Formation Azure Active Directory RMS et Azure Information Protection
 
Alphorm.com Formation OS X 10.11 Client El Capitan , avancé
Alphorm.com Formation OS X 10.11 Client El Capitan , avancéAlphorm.com Formation OS X 10.11 Client El Capitan , avancé
Alphorm.com Formation OS X 10.11 Client El Capitan , avancé
 
alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2
 
Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2
 
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin IT
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin ITalphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin IT
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin IT
 
Alphorm.com Formation Dreamweaver CC pour les débutants
Alphorm.com Formation Dreamweaver CC pour les débutantsAlphorm.com Formation Dreamweaver CC pour les débutants
Alphorm.com Formation Dreamweaver CC pour les débutants
 
Alphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows ContainersAlphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows Containers
 
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)
 
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-fils
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-filsAlphorm.com ressources-formation-hacking-et-securite-reseaux-sans-fils
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-fils
 
alphorm.com - Formation Configuration Exchange 2010 (70-662)
alphorm.com - Formation Configuration Exchange 2010 (70-662)alphorm.com - Formation Configuration Exchange 2010 (70-662)
alphorm.com - Formation Configuration Exchange 2010 (70-662)
 

Similaire à Alphorm.com Support de la Formation Git

GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
akramalidrissi1
 
Alphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm.com Support de la Formation LPIC-1 version 4 ssAlphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm
 
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpeditBoostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpedit
auto entrepreneur
 

Similaire à Alphorm.com Support de la Formation Git (20)

Outils web pour le développement collaboratif
Outils web pour le développement collaboratifOutils web pour le développement collaboratif
Outils web pour le développement collaboratif
 
Alphorm.com formation-GNS3
Alphorm.com formation-GNS3Alphorm.com formation-GNS3
Alphorm.com formation-GNS3
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5
 
Alphorm.com Support Formation Android 6, Expert
Alphorm.com Support Formation Android 6, ExpertAlphorm.com Support Formation Android 6, Expert
Alphorm.com Support Formation Android 6, Expert
 
Outils web pour le développement collaboratif
Outils web pour le développement collaboratifOutils web pour le développement collaboratif
Outils web pour le développement collaboratif
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
 
Slide show Powiter
Slide show PowiterSlide show Powiter
Slide show Powiter
 
Alphorm.com Formation Le Language C
Alphorm.com  Formation Le Language C Alphorm.com  Formation Le Language C
Alphorm.com Formation Le Language C
 
Pourquoi versionner ses githooks.pdf
Pourquoi versionner ses githooks.pdfPourquoi versionner ses githooks.pdf
Pourquoi versionner ses githooks.pdf
 
git.pdf
git.pdfgit.pdf
git.pdf
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
 
Alphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm.com Support de la Formation LPIC-1 version 4 ssAlphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm.com Support de la Formation LPIC-1 version 4 ss
 
Alphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NETAlphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NET
 
Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé
 
Gestion des drifts Terraform avec la méthode GitOps.pdf
Gestion des drifts Terraform avec la méthode GitOps.pdfGestion des drifts Terraform avec la méthode GitOps.pdf
Gestion des drifts Terraform avec la méthode GitOps.pdf
 
Firefox et Firefox OS et vie privee - Journée du libre 2015 Lille
Firefox et Firefox OS et vie privee - Journée du libre 2015 LilleFirefox et Firefox OS et vie privee - Journée du libre 2015 Lille
Firefox et Firefox OS et vie privee - Journée du libre 2015 Lille
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
 
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpeditBoostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpedit
 
Devoxx france 2015 livrer chaque jour ce qui est prêt
Devoxx france 2015   livrer chaque jour ce qui est prêtDevoxx france 2015   livrer chaque jour ce qui est prêt
Devoxx france 2015 livrer chaque jour ce qui est prêt
 

Plus de Alphorm

Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm
 

Plus de Alphorm (20)

Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
 
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
 
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
 
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
 
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion Commerciale
 
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
 
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
 
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
 
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
 
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POO
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
 
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
 
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
 

Alphorm.com Support de la Formation Git

  • 1. 19/04/2016 1 Formation Git alphorm.com™© Formation Découverte Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 2. 19/04/2016 2 Formation Git alphorm.com™© Plan • Présentation du formateur • Plan de formation • Objectifs de la formation • Public concerné • Les possibilités de Git • Les connaissances requises
  • 3. 19/04/2016 2 Formation Git alphorm.com™© Plan • Présentation du formateur • Plan de formation • Objectifs de la formation • Public concerné • Les possibilités de Git • Les connaissances requises
  • 4. 19/04/2016 2 Formation Git alphorm.com™© Plan • Présentation du formateur • Plan de formation • Objectifs de la formation • Public concerné • Les possibilités de Git • Les connaissances requises
  • 5. 19/04/2016 2 Formation Git alphorm.com™© Plan • Présentation du formateur • Plan de formation • Objectifs de la formation • Public concerné • Les possibilités de Git • Les connaissances requises
  • 6. 19/04/2016 2 Formation Git alphorm.com™© Plan • Présentation du formateur • Plan de formation • Objectifs de la formation • Public concerné • Les possibilités de Git • Les connaissances requises
  • 7. 19/04/2016 2 Formation Git alphorm.com™© Plan • Présentation du formateur • Plan de formation • Objectifs de la formation • Public concerné • Les possibilités de Git • Les connaissances requises
  • 8. 19/04/2016 2 Formation Git alphorm.com™© Plan • Présentation du formateur • Plan de formation • Objectifs de la formation • Public concerné • Les possibilités de Git • Les connaissances requises
  • 9. 19/04/2016 9 Formation Git alphorm.com™© Les connaissances requises •Aucune !
  • 10. 19/04/2016 10 Formation Git alphorm.com™© Liens et ressources • https://git-scm.com/ : Site official de Git • Http://github.com : Plateforme en ligne de Git • http://gitref.org/ : Pour ne jamais oublier les commandes • https://try.github.io/ : Pour s’entrainer
  • 12. 19/04/2016 12 Formation Git alphorm.com™© Gestion des versions Présentation de GIT Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 13. 19/04/2016 13 Formation Git alphorm.com™© Plan • Qu’est-ce qu’un gestionnaire de version ? • Les systèmes de gestion de version local • Les systèmes de gestion de version centralisé • Les systèmes de gestion de version distribué
  • 14. 19/04/2016 14 Formation Git alphorm.com™© Qu’est-ce qu’un gestionnaire de version ? • Un gestionnaire de version : Enregistre les évolutions d’un fichier Permets de revenir à une version précédente Fonctionne avec tout type de fichier (.txt, .php, .java, .jpg, .exe, …) Permets de retrouver un fichier supprimé
  • 15. 19/04/2016 15 Formation Git alphorm.com™© Les systèmes de gestion de version locaux
  • 16. 19/04/2016 16 Formation Git alphorm.com™© Les systèmes de gestion de version centralisés
  • 17. 19/04/2016 17 Formation Git alphorm.com™© Les systèmes de gestion de version distribués
  • 18. 19/04/2016 18 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo 3 grandes méthodes de gestion des versions pour nos fichiers. • Git utilise la 3ème solution ! • La prochaine vidéo : Les rudiments de GIT
  • 19. 19/04/2016 19 Formation Git alphorm.com™© Rudiments de GIT Présentation de GIT Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 20. 19/04/2016 20 Formation Git alphorm.com™© Plan • L’histoire de GIT • Des instantanés, pas des différences • Presque toutes les opérations sont locales • Git gère l’intégrité • Les trois états
  • 21. 19/04/2016 21 Formation Git alphorm.com™© L’histoire de GIT • Git est né avec une dose de destruction créative et de controverse houleuse. • Créé par Linus Trovalds, le créateur de Linux en 2005. • Nouveaux objectifs: Vitesse Conception simple Support pour les développements non linéaires Complètement distribué Capacité à gérer efficacement des projets d’envergure tels que le noyau Linux
  • 22. 19/04/2016 22 Formation Git alphorm.com™© Des instantanés, pas des différences • Beaucoup de VCS considèrent l’information qu’ils gèrent comme une liste de fichiers et les modifications effectuées sur chaque fichier dans le temps.
  • 23. 19/04/2016 23 Formation Git alphorm.com™© Des instantanés, pas des différences • Avec Git, à chaque fois que vous validez ou enregistrez l’état du projet, il prend un instantané du contenu de votre espace de travail.
  • 24. 19/04/2016 24 Formation Git alphorm.com™© Presque toutes les opérations sont locales • La plupart des opérations de Git se font en local. • Même pour chercher dans l’historique du projet. • L’intégralité de la base de données est en locale.
  • 25. 19/04/2016 25 Formation Git alphorm.com™© Git gère l’intégrité • Dans Git, tout est vérifié par une somme de contrôle avant d’être stocké et par la suite cette somme de contrôle, signature unique, sert de référence. • Impossible de perdre un fichier dans Git sans que Git s’en aperçoive. • Les sommes de contrôle sont en SHA-1. 24b9da6552252987aa493b52f8696cd6d3b00373
  • 26. 19/04/2016 26 Formation Git alphorm.com™© Les trois états • Un fichier versionné sous Git peut être sous 3 états : Validé, le fichier est sauvegardé en base. Modifié, le fichier est modifié, la modification n’est pas en base. Indexé, le fichier est modifié, et est prêt à être envoyé en base.
  • 27. 19/04/2016 27 Formation Git alphorm.com™© Les trois états • Ce qui nous donne trois sections principales d’un projet GIT Validé = le répertoire .git Modifié = Le répertoire de travail courant Indexé = La zone virtuelle qui liste les fichiers qui seront dans le prochain instantané
  • 28. 19/04/2016 28 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo : Comment Git s’est créée. Comment git a été conçu. Comment git fonctionne. • La prochaine vidéo : Installation de GIT
  • 29. 19/04/2016 29 Formation Git alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com Installation de Git Présentation de Git
  • 30. 19/04/2016 30 Formation Git alphorm.com™© Plan • Installation sous Linux • Installation sous MacOS • Installation sous Windows • Installation à partir de source
  • 31. 19/04/2016 31 Formation Git alphorm.com™© Installation sous Linux • Généralement, présent sur paquet de votre distribution sous le nom de ‘git’ • Sur fedorat : dnf install git-all • Sur Debian / Ubuntu : apt-get install git-all • La liste des distributions est disponible à cette adresse : https://git-scm.com/download/linux
  • 32. 19/04/2016 32 Formation Git alphorm.com™© Installation sous MacOS • Il existe plusieurs méthodes d’installation de Git sur un Mac. La plus facile est probablement d’installer les Xcode Command Line Tools. • Si vous voulez une version plus récente : https://git-scm.com/download/mac
  • 33. 19/04/2016 33 Formation Git alphorm.com™© Installation sous Windows • Pour Windows : http://git-scm.com/download/win
  • 34. 19/04/2016 34 Formation Git alphorm.com™© Installation depuis les sources • Pour installer Git, vous avez besoin des bibliothèques suivantes : curl, zlib, openssl, expat, libiconv. • Pour Linux : apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev autoconf • Les sources sont disponibles sur ce site (miroir) : https://github.com/git/git/releases
  • 35. 19/04/2016 35 Formation Git alphorm.com™© Installation depuis les sources • Procédure d’installation : $ tar -zxf git-1.9.1.tar.gz $ cd git-1.9.1 $ make configure $ ./configure --prefix=/usr $ make all doc info $ sudo make install install-doc install-html install-info
  • 36. 19/04/2016 36 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo comment installer Git pour Linux, MacOS, Windows À partir des sources • La prochaine vidéo : Paramétrage de Git
  • 37. 19/04/2016 37 Formation Git alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com Paramétrage de Git Présentation de Git
  • 38. 19/04/2016 38 Formation Git alphorm.com™© Plan • Les fichiers de configuration • Votre identité • Votre éditeur de texte • Vos paramètres
  • 39. 19/04/2016 39 Formation Git alphorm.com™© Les fichiers de configuration • Git contient un outils ‘git config’ pour modifier les paramètres de configuration • Git a 3 niveaux de configuration Global au système : /etc/gitconfig, modifiable avec ‘git config -- system’ Global à l’utilisateur : ~/.gitconfig, modifiable avec ‘git config --global’ Global au projet : .git/config, modifiable avec ‘git config’ • Chaque niveau surcharge le précédent
  • 40. 19/04/2016 40 Formation Git alphorm.com™© Votre identité • La première chose à faire après l’installation de Git est de renseigner votre nom et votre adresse email. $ git config --global user.name "Edouard FERRARI" $ git config --global user.email edouard@ferrari.wf • Vu que nous configurons ces options avec –global, nous n’aurons pas besoin de les reconfigurer à chaque projet.
  • 41. 19/04/2016 41 Formation Git alphorm.com™© Votre éditeur de texte • Nous faisons la même chose avec notre éditeur de texte. $ git config --global core.editor emacs
  • 42. 19/04/2016 42 Formation Git alphorm.com™© Vos paramètres • Il est possible de vérifier nos paramètres : $ git config --list
  • 43. 19/04/2016 43 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo comment paramétrer Git • Le prochain chapitre : Les bases de Git => Démarrer un dépôt Git
  • 44. 19/04/2016 44 Formation Git alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com Démarrer un dépôt Git Les bases de Git
  • 45. 19/04/2016 45 Formation Git alphorm.com™© Plan • Initialisation d’un dépôt Git • Cloner un dépôt existant
  • 46. 19/04/2016 46 Formation Git alphorm.com™© Initialisation d’un dépôt Git • Dans votre projet, initialiser Git: $ git init • Un dossier .git apparait, l’initialisation est faite, mais aucun fichier n’est versionné !
  • 47. 19/04/2016 47 Formation Git alphorm.com™© Cloner un dépôt existant • La commande pour récupérer un projet existant est ‘git clone’. • Git reçoit une copie de quasiment toutes les données stockées dans le serveur. • S’il y a un problème avec le disque du serveur, vous aurez une copie complète du projet (fichier et historique). • Git gère le protocole http:// ou https:// • Mais aussi le protocole git://server.tld/projet.git. Ce protocole se base sur ssh. • Exemple : $> git clone https://github.com/libgit2/libgit2
  • 48. 19/04/2016 48 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo comment : Initialiser un projet Cloner un project existant • La prochaine vidéo : Enregistrer des modifications dans le dépôt
  • 49. 19/04/2016 49 Formation Git alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com Enregistrer des modifications dans le dépôt Les bases de Git
  • 50. 19/04/2016 50 Formation Git alphorm.com™© Plan • Le fonctionnement • Vérifier l’état des fichiers • Placer de nouveaux fichiers sous suivi de version • Indexer des fichiers modifiés • Ignorer des fichiers • Inspecter les modifications indexées et non indexées • Valider vos modifications • Passer l’étape de mise en index • Effacer ou déplacer des fichiers
  • 52. 19/04/2016 52 Formation Git alphorm.com™© Vérifier l’état des fichiers • Pour connaitre l’état des fichiers de votre projet : $ git status • Si on ajoute un nouveau fichier dans le projet, git status nous donne son nouvel état. • Pour avoir un affichage plus concis : $ git status -s
  • 53. 19/04/2016 53 Formation Git alphorm.com™© Placer de nouveaux fichiers sous suivi de version • Pour commencer à suivre un nouveau fichier, il faut utiliser la commande : $ git add <fichier> • En faisant un ‘git status’, nous voyons que le fichier a changé d’état, le fichier est indexé dans Git. • La version du fichier à l’instant où vous l’enregistrer avec ‘git add’ sera celle qui sera dans l’historique des instantanés. • On peut ajouter des répertoires, git ajoutera à l’index tout le répertoire récursivement.
  • 54. 19/04/2016 54 Formation Git alphorm.com™© Indexer des fichiers modifiés • Maintenant, modifions un fichier qui est déjà sous suivi de version. • Puis observons le status avec ‘git status’. • Le fichier modifié a le status “Modifications qui ne seront pas validées”, le fichier n’est pas indexé. • Pour indexer le fichier : $ git add <fichier>
  • 55. 19/04/2016 55 Formation Git alphorm.com™© Ignorer des fichiers • Dans les projets, nous avons souvent des fichiers que nous ne voulons pas ajouter à Git. • Nous avons la possibilité de ne jamais les indexer avec ‘git add’. • Sinon, nous pouvons indiquer à Git de les ignorer. • Il faut rentrer la liste des fichiers dans le fichier .gitignore • Les fichiers n’apparaitront plus dans ‘git status’. $ cat .gitignore *.[oa] *~
  • 56. 19/04/2016 56 Formation Git alphorm.com™© Ignorer des fichiers • Les règles de construction des patrons à placer dans le fichier .gitignore sont les suivantes : Les lignes vides ou commençant par # sont ignorées. Les patrons standards de fichiers sont utilisables. Si le patron se termine par une barre oblique (/), il indique un répertoire. Un patron commençant par un point d’exclamation (!) indique des fichiers à inclure malgré les autres règles. • Exemple de fichiers gitignore : https://github.com/github/gitignore
  • 57. 19/04/2016 57 Formation Git alphorm.com™© Inspecter les modifications indexées et non indexées • Pour avoir une vision plus précise des changements faits sur les fichiers, on utilise ‘git diff’. • Cette commande répond aux questions : Qu’est-ce qui a été modifié, mais pas encore indexé ? Quelle modification a été indexée et est prête pour la validation ? • git diff montre les changements ligne par ligne • Pour voir les modifications qui font partie de la prochaine validation, vous pouvez utiliser ‘git diff --cached’
  • 58. 19/04/2016 58 Formation Git alphorm.com™© Valider vos modifications • Une fois que votre index est dans l’état désiré, nous pouvons valider les modifications. • Rappel, ce qui n’est pas passé dans ‘git add’ ne fera pas partie de la prochaine validation. Ils resteront en modifier sur votre disque. • La commande pour valider est ‘git commit’ • Cette action lance votre editeur de texte par défaut. • Les options : -v : ajoute le diff dans le commentaire -m ‘my comment’ : Pour ajouter directement un commentaire sans passer par l’éditeur de texte. • Une fois votre validation faite, votre commit a un id (SHA-1)
  • 59. 19/04/2016 59 Formation Git alphorm.com™© Passer l’étape de mise en index • La gestion de la zone d’index peut être longue si on ajoute tous les fichiers un par un. • git commit –a dit à git de placer tous les fichiers déjà suivis dans la zone d’index.
  • 60. 19/04/2016 60 Formation Git alphorm.com™© Effacer ou déplacer des fichiers • Pour effacer un fichier de Git, vous devez l’éliminer des fichiers en suivi de version (plus précisément, l’effacer dans la zone d’index) puis valider. • Si vous effacez le fichier avec ‘rm <fichier>’, il apparaît sous la section « Modifications qui ne seront pas validées » (c’est-à-dire, non indexé). • Avec un ‘git rm <fichier>’, l’effacement du fichier est indexé.
  • 61. 19/04/2016 61 Formation Git alphorm.com™© Effacer ou déplacer des fichiers • À la différence des autres VCS, Git ne suit pas explicitement les mouvements des fichiers, même s’il sera capable de voir qu’un fichier a été déplacé. • Il existe la commande ‘git mv <source> <destination>’ qui revient exactement à : $> mv <source> <destination>’ $> git rm <source> $> git add <destination>’
  • 62. 19/04/2016 62 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo : Comment ajouter un fichier à l’index Comment indiqué à git que le fichier déjà suivi a été modifié et qu’on veut l’ajouter à l’index Comment créer un ‘commit’ Comment supprimer ou déplacer des fichiers. • Prochaine vidéo : Visualiser l'historique des validations
  • 63. 19/04/2016 63 Formation Git alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com Visualiser l'historique des validations Les bases de Git
  • 64. 19/04/2016 64 Formation Git alphorm.com™© Plan • Visualiser l’historique • Les options principales • L’option ‘pretty’ • Limiter la longueur de l’historique
  • 65. 19/04/2016 65 Formation Git alphorm.com™© Visualiser l’historique • Pour voir l’historique, il existe la commande ‘git log’ • Pour tester : $> git clone --branch FR_319_03_02 https://github.com/didouard/project- alphorm project-alphorm-FR_319_03_02 • Par défaut, git log invoqué sans argument énumère en ordre chronologique inversé les commits réalisés.
  • 66. 19/04/2016 66 Formation Git alphorm.com™© Les options principales • git log dispose d’un très grand nombre d’options permettant de paramétrer exactement ce que l’on cherche à voir :
  • 67. 19/04/2016 3 Formation Git alphorm.com™© Présentation du formateur Edouard FERRARI • contact@ferrari.wf • Développeur full stack chez Summview • Mission de conseil, d’architecture et de migration • Mes références : LinkedIn : https://fr.linkedin.com/in/edouardferrari Alphorm : http://www.alphorm.com/formateur/edouard-ferrari Github : https://github.com/didouard
  • 68. 19/04/2016 68 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo : Comment afficher l’historique de notre projet Jouer avec le formatage • Prochaine vidéo : Annuler des actions
  • 69. 19/04/2016 69 Formation Git alphorm.com™© Annuler des actions Les bases de Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 70. 19/04/2016 70 Formation Git alphorm.com™© Plan • Modifier un commit • Désindexer un fichier déjà indexé • Réinitialiser un fichier modifié
  • 71. 19/04/2016 71 Formation Git alphorm.com™© Modifier un commit • /! Attention, certaines modifications sont permanentes. • Il peut arriver que l’on valide une modification trop tôt en oubliant des fichiers. • Pour modifier un commit : $> git commit --amend • Cette commande va reprendre l’index du commit précédent. • L’éditeur s’ouvre avec les modifications et le message. • Il est possible de modifier uniquement le message du commit.
  • 72. 19/04/2016 72 Formation Git alphorm.com™© Désindexer un fichier déjà indexé • Imaginons que vous avez indexé trop de fichiers. $> git reset HEAD <file>
  • 73. 19/04/2016 73 Formation Git alphorm.com™© Réinitialiser un fichier modifié • Pour faire revenir un fichier au niveau du précédent checkout : $> git checkout -- <fichier> • Attention, vous perdrez définitivement les modifications apportées au fichier depuis le dernier checkout. • Si vous souhaitez seulement écarter momentanément cette modification, nous verrons comment mettre de côté et créer des branches
  • 74. 19/04/2016 74 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo : Comment modifier un commit. Comment désindexer un fichier déjà indexé. Comment réinitialiser un fichier modifié. • La prochaine vidéo : Travailler avec des dépôts distants
  • 75. 19/04/2016 75 Formation Git alphorm.com™© Travailler avec des dépôts distants Les bases de Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 76. 19/04/2016 76 Formation Git alphorm.com™© Plan • Introduction • Afficher les dépôts distants • Afficher les dépôts distants • Récupérer et tirer depuis des dépôts distants • Pousser son travail sur un dépôt distant • Inspecter un dépôt distant • Retirer et renommer des dépôts distants
  • 77. 19/04/2016 77 Formation Git alphorm.com™© Introduction • Pour pouvoir collaborer sur un projet Git, il est nécessaire de savoir comment gérer les dépôts distants. • Les dépôts distants sont des versions de votre projet qui sont hébergées sur Internet ou le réseau d’entreprise. • Vous pouvez en avoir plusieurs, pour lesquels vous pouvez avoir des droits soit en lecture seule, soit en lecture/écriture. • Nous allons voir comment : Ajouter des dépôts distants. Effacer des dépôts distants.
  • 78. 19/04/2016 78 Formation Git alphorm.com™© Afficher les dépôts distants • Pour visualiser les serveurs distants que vous avez enregistré, vous pouvez lancer la commande ‘git remote’. • Si vous avez cloné notre projet, vous devez avoir au moins un dépôt distant : ‘origin’. • Vous pouvez aussi spécifier ‘-v’, qui vous montre l’URL que Git a stocké pour chaque nom court.
  • 79. 19/04/2016 79 Formation Git alphorm.com™© Ajouter des dépôts distants • Pour ajouter des dépôts distants : $> git remote add johnpatrick https://github.com/johnpatrick/monprojet
  • 80. 19/04/2016 80 Formation Git alphorm.com™© Récupérer et tirer depuis des dépôts distants • Pour récupérer les données d’un dépôt distant : $> git fetch [nom du repos distant] • Cette commande s’adresse au dépôt distant et récupère toutes les données de ce projet que vous ne possédez pas déjà. • Si vous clonez un dépôt, le dépôt distant est automatiquement ajouté sous le nom « origin ». • Si le dépôt est différent que celui ajouté par défaut, les branches seront ajoutées dans ‘<nom du dépôt distant>/master’.
  • 81. 19/04/2016 81 Formation Git alphorm.com™© Pousser son travail sur un dépôt distant • Lorsque votre dépôt vous semble prêt à être partagé, vous pouvez le poussé à votre dépôt distant : $> git push [dépôt distant] [nom-de-la-branche] $> git push origin master
  • 82. 19/04/2016 82 Formation Git alphorm.com™© Inspecter un dépôt distant • Pour avoir plus d’informations sur un dépôt distant : $> git remote show [dépôt distant]
  • 83. 19/04/2016 83 Formation Git alphorm.com™© Retirer et renommer des dépôts distants • Pour renommer une référence : $> git remote rename johnpatrick janebob • Pour supprimer une référence : $> git remote rm janebob
  • 84. 19/04/2016 84 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo : Comment afficher, ajouter, renommer et supprimer les dépôts distants Comment pousser et tirer son travail d’un dépôt distant. Comment inspecter un dépôt distant • La prochaine vidéo : L’Étiquetage
  • 85. 19/04/2016 85 Formation Git alphorm.com™© Étiquetage Les bases de Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 86. 19/04/2016 86 Formation Git alphorm.com™© Plan • Introduction • Lister vos étiquettes • Créer des étiquettes • Les étiquettes annotées • Les étiquettes légères • Étiqueter après coup • Partager les étiquettes • Extraire une étiquette
  • 87. 19/04/2016 87 Formation Git alphorm.com™© Introduction • À l’instar de la plupart des VCS, Git donne la possibilité d’étiqueter un certain état dans l’historique comme important. • Généralement, on utilise cette fonctionnalité pour marquer les versions d’un projet (v1.0.0, v1.0.42, v2.0.1, …) • Nous verrons comment : Lister les différentes étiquettes Comment créer de nouvelles étiquettes Voir tous les types d’étiquettes
  • 88. 19/04/2016 88 Formation Git alphorm.com™© Lister vos étiquettes • Pour lister les étiquettes : $> git tag Les étiquettes sont listées par ordre alphabétique • Pour faire une recherche : $> git tab –l ’v1.0.*’
  • 89. 19/04/2016 89 Formation Git alphorm.com™© Créer des étiquettes • Git utilise deux types d’étiquettes : Étiquette légère Étiquette annotée • Une étiquette légère ressemble beaucoup à une branche qui ne change pas, c’est juste un pointeur sur un commit spécifique. • Les étiquettes annotées, par contre, sont stockées en tant qu’objets à part entière dans la base de données de Git
  • 90. 19/04/2016 90 Formation Git alphorm.com™© Les étiquettes annotées • Créer des étiquettes annotées est simple avec Git : $> git tag –a v1.1.0 –m ’Ma version 1.1.0’ • Puis pour afficher en détails votre nouveau tag : $>git show v1.1.0
  • 91. 19/04/2016 91 Formation Git alphorm.com™© Les étiquettes légères • Les étiquettes légères vont tout simplement stocker la somme de contrôle d’un commit dans un fichier. Aucune information n’est enregistrée avec l’étiquette. $> git tag
  • 92. 19/04/2016 92 Formation Git alphorm.com™© Étiqueter après coup • Il est possible d’étiqueter des anciens commit : git tag –a v1.0.0 9b92f3b
  • 93. 19/04/2016 93 Formation Git alphorm.com™© Partager les étiquettes • Par défaut, la commande git push ne transfère pas les étiquettes vers les serveurs distants. • Il faut explicitement pousser les étiquettes après les avoir créées localement. $> git push origin v1.1.0 • Pour pouvoir pousser toutes les étiquettes que nous avons créé localement : $> git push origin --tags
  • 94. 19/04/2016 94 Formation Git alphorm.com™© Extraire une étiquette • Pour se placer à la position d’un commit étiqueté : git checkout –b v1.1.0 • Grâce à ce mécanisme, nous pouvons naviguer à travers les différentes versions de notre projet
  • 95. 19/04/2016 95 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo toutes les choses que git nous propose avec les étiquettes. • Les étiquettes sont très utilisées en entreprise. • Prochain chapitre: Les branches avec Git
  • 96. 19/04/2016 96 Formation Git alphorm.com™© Les branches en bref Les branches avec Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 97. 19/04/2016 97 Formation Git alphorm.com™© Plan • Introduction • Créer une nouvelle branche • Basculer entre les branches
  • 98. 19/04/2016 98 Formation Git alphorm.com™© Introduction • Presque tous les VCS proposent une certaine forme de gestion de branches. • Créer une branche signifie diverger de la ligne principale de développement et continuer à travailler sans impacter cette ligne. $> git add README test.rb LICENSE $> git commit -m 'initial commit of my project'
  • 102. 19/04/2016 102 Formation Git alphorm.com™© Créer une nouvelle branche • Pour créer une nouvelle branche : $> git branch testing
  • 103. 19/04/2016 103 Formation Git alphorm.com™© Créer une nouvelle branche • Pour savoir sur quelle branche git se trouve actuellement, il ajoute un pointeur spécial. • Pour vérifier cela : $> git log --oneline --decorate
  • 104. 19/04/2016 104 Formation Git alphorm.com™© Basculer entre les branches • Pour changer de branche : $> git checkout testing • Cela a pour effet de déplacer HEAD. • Qu’est ce qu’il se passerait si nous créons un commit ?
  • 105. 19/04/2016 105 Formation Git alphorm.com™© Basculer entre les branches • On édite un fichier et on crée un commit : $> git commit –a –m ’nouvelle modification’ • Et si on revient sur ‘master’ ?
  • 106. 19/04/2016 106 Formation Git alphorm.com™© Basculer entre les branches $> git checkout master • Cette commande a provoqué deux changements : Mettre le pointeur HEAD sur master. Elle a remplacé les fichiers de votre répertoire dans l’état du snapshot pointé par master.
  • 107. 19/04/2016 107 Formation Git alphorm.com™© Basculer entre les branches • On continue nos tests. • Faisons encore une modification dans un fichier et créons un nouveau commit. • À quoi ressemble notre arbre ?
  • 108. 19/04/2016 108 Formation Git alphorm.com™© Basculer entre les branches • On peut retrouver cet arbre avec : $> git log --oneline --decorate --graph --all $> gitk --all
  • 109. 19/04/2016 109 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu et compris : Comment fonctionnent les branches Comment les créer Comment sauter d’une branche à l’autre. • La prochaine vidéo : Branches et fusions : les bases
  • 110. 19/04/2016 110 Formation Git alphorm.com™© Branches et fusions : les bases Les branches avec Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 111. 19/04/2016 111 Formation Git alphorm.com™© Plan • Scénario • Mise en place • Développement du correctif • Téléphone • Modification du site internet • Retour sur le correctif • Une fusion un peu spéciale
  • 112. 19/04/2016 112 Formation Git alphorm.com™© Scénario • Vous effectuez les tâches suivantes : vous travaillez sur un site web ; vous créez une branche pour un nouvel article en cours ; vous commencez à travailler sur cette branche. • À cette étape, vous recevez un appel pour vous dire qu’un problème critique a été découvert et qu’il faut le régler au plus tôt. Vous faites donc ce qui suit : vous basculez sur la branche de production ; vous créez une branche pour y ajouter le correctif ; après l’avoir testé, vous fusionnez la branche du correctif et poussez le résultat en production ; • vous rebasculez sur la branche initiale et continuez votre travail.
  • 113. 19/04/2016 113 Formation Git alphorm.com™© Mise en place • Nous avons notre projet qui ressemble à ça : • On décide de travailler sur le problème #53, on crée une branche et on se place dessus. $> git checkout –b iss53 • Équivalent à : $> git branch iss53 $> git checkout iss53
  • 114. 19/04/2016 114 Formation Git alphorm.com™© Développement du correctif • Notre projet ressemble donc à cela et HEAD est sur iss53. • Nous faisons une modification et nous créons un nouveau commit : $> git commit –a –m ’Résolution d’un premier bug’
  • 115. 19/04/2016 115 Formation Git alphorm.com™© Téléphone • Notre projet ressemble à cela : • Le téléphone sonne, il faut qu’on fasse immédiatement une modification sur le site internet. $> git checkout master
  • 116. 19/04/2016 116 Formation Git alphorm.com™© Modification du site internet • Nous allons développer notre modification urgente en créant une nouvelle branche: $> git checkout –b hotfix • On modifie notre code. • On crée un commit : $> git commit –a –m ’correction de l’adresse email’ • À quoi ressemble notre arbre ?
  • 117. 19/04/2016 117 Formation Git alphorm.com™© Modification du site internet • Notre arbre ressemble à :
  • 118. 19/04/2016 4 Formation Git alphorm.com™© Mes formations • Cursus complet sur NodeJS
  • 119. 19/04/2016 119 Formation Git alphorm.com™© Retour sur le correctif • On retourne sur le correctif $> git checkout iss53 • On continue nos développements • On commit les nouvelles modifications $> git commit –a – m ’Résolution deuxième bug, donc problème #53 corrigé’ • À quoi ressemble notre arbre ?
  • 121. 19/04/2016 121 Formation Git alphorm.com™© Une fusion un peu spéciale • On se place sur ‘master’ : $> git checkout master • On fusionne les deux branches $> git merge iss53 • Qu’est ce qu’il se passe dans ce cas ?
  • 123. 19/04/2016 123 Formation Git alphorm.com™© Une fusion un peu spéciale • Git crée un nouveau commit qui contient le fusion de C4 et C5.
  • 124. 19/04/2016 124 Formation Git alphorm.com™© Un conflit • Si nous modifions le même fichier dans deux branches qui seront fusionnées, il est possible que Git n’arrive plus à faire une fusion. • La procédure est la suivante : $> git checkout master $> git merge future_conflit • Un conflit apparait, on rentre dans le(s) fichier(s) incriminé(s) et corrige le conflit. $> git add <les fichiers> $> git commit –m ’message’
  • 125. 19/04/2016 125 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons un scénario typique d’utilisation des branches en entreprise. • Prochaine vidéo: Gestion des branches
  • 126. 19/04/2016 126 Formation Git alphorm.com™© Gestion des branches Les branches avec Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 127. 19/04/2016 127 Formation Git alphorm.com™© Plan • Lister les branches • Les branches fusionnées et non fusionnées • Supprimer une branche
  • 128. 19/04/2016 128 Formation Git alphorm.com™© Lister les branches • Maintenant que vous avez créé, fusionné et supprimé des branches, regardons de plus près les outils. • ‘git branch’, sans argument, permet de lister les branches en local. $> git branch • Pour avoir un peu plus d’informations $> git branch -v
  • 129. 19/04/2016 129 Formation Git alphorm.com™© Les branches fusionnées et non fusionnées • Les options --merged et --no-merge sont des options très utiles. • Pour avoir la liste des branches déjà fusionnées: $> git branch --merged • Pour avoir la liste des branches pas encore fusionnées : $> git branch --no-merged
  • 130. 19/04/2016 130 Formation Git alphorm.com™© Supprimer une branche • Pour supprimer une branche : $> git branch –d <branche à supprimer>
  • 131. 19/04/2016 131 Formation Git alphorm.com™© Ce qu’on a couvert • Dans cette vidéo, nous avons vu comment lister les branches Toutes les branches locales. Toutes les branches déjà fusionnées. Toutes les branches pas encore fusionnées. • La prochaine vidéo : Travailler avec les branches
  • 132. 19/04/2016 132 Formation Git alphorm.com™© Travailler avec les branches Les branches avec Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 133. 19/04/2016 133 Formation Git alphorm.com™© Plan •Branche au long cours •Branche thématique
  • 138. 19/04/2016 138 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo : Différent type de branches. Comment on s’organise en entreprise. • Vidéo suivante : Les branches distantes
  • 139. 19/04/2016 139 Formation Git alphorm.com™© Introduction aux branches distantes Les branches avec Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 140. 19/04/2016 140 Formation Git alphorm.com™© Plan • Branches distantes • Pousser les branches
  • 141. 19/04/2016 141 Formation Git alphorm.com™© Branches distantes • Les références distantes sont des références (pointeurs) vers les éléments de votre dépôt distant tels que les branches, les tags, etc… • Pour obtenir la liste complète de ces références : $> git ls-remote <remote> • Les branches distantes sont des références (des pointeurs) vers l’état des branches sur votre dépôt distant. • Elles sont sous la force <distant>/<branche>
  • 144. 19/04/2016 5 Formation Git alphorm.com™© Plan de la formation • Présentation de Git Gestion des versions Rudiments de Git Installation de Git Paramétrage de Git • Les bases de Git Démarrer un dépôt Git Enregistrer des modifications dans le dépôt Visualiser l'historique des validations Annuler des actions Travailler avec des dépôts distants Étiquetage • Les branches avec Git Les branches en bref Branches et fusions : les bases Gestion des branches Travailler avec les branches Branches distantes Rebaser (Rebasing) • Github Configuration et paramétrage d’un compte Contribution à un projet "Github flavored Markdown" Maintenance d’un projet Gestion d’un regroupement Écriture de scripts pour GitHub
  • 147. 19/04/2016 147 Formation Git alphorm.com™© Pousser les branches • Vos branches locales ne sont pas automatiquement synchronisées sur les serveurs distants. • Vous devez pousser explicitement les branches que vous souhaitez partager. • Pour pusher une branche : $> git push <distant> <branche> • La prochaine fois qu’un de vos collègues récupérera les données depuis le serveur, il récupérera la branche distante créée.
  • 148. 19/04/2016 148 Formation Git alphorm.com™© Pousser les branches • Il est important de noter que lorsque vous récupérez une nouvelle branche depuis un serveur distant, vous ne créez pas automatiquement une copie locale éditable. • Mais seulement un pointeur sur la branche distante qui n’est pas directement modifiable. • Pour fusionner ce travail dans votre branche de travail : $> git merge origin/branchejohnpatrick • Si vous ne souhaitez pas fusionner la branche distante avec votre travail, vous pouvez créer une nouvelle branche et copier le travail dedans : $> git checkout –b branchejohnpatrick origin/branchejohnpatrick
  • 149. 19/04/2016 149 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo : Comment s’organiser en entreprise. Comment pousser une branche distante. • Vidéo suivante : Intéragir avec les branches distantes
  • 150. 19/04/2016 150 Formation Git alphorm.com™© Interagir avec les branches distantes Les branches avec Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 151. 19/04/2016 151 Formation Git alphorm.com™© Plan • Suivre les branches • Tirer une branche (Pulling) • Suppression de branches distantes
  • 152. 19/04/2016 152 Formation Git alphorm.com™© Suivre les branches • L’extraction d’une branche locale à partir d’une branche distante crée automatiquement ce qu’on appelle une « branche de suivi ». • Si nous rentrons la commande ‘git push’, Git sélectionne automatiquement le serveur vers lequel pousser vos modifications. • Pour connaitre la branche suivie : $> git branch –vv • Pour changer la branche suivie : $> git branch –u origin/nouvellebranchesuivie $> git branch --set-upstream-to origin/nouvellebranchesuivie
  • 153. 19/04/2016 153 Formation Git alphorm.com™© Tirer une branche (Pulling) • La commande ‘git fetch’ récupère l’ensemble des changements présents sur le serveur, mais elle ne modifie en rien votre répertoire de travail. • Il faut faire un ‘git merge’ pour fusionner les nouveaux changements. • La commande ‘git pull’ va faire un ‘git fetch’ et ‘git merge’ d’un coup. $> git pull
  • 154. 19/04/2016 154 Formation Git alphorm.com™© Suppression de branches distantes • Pour supprimer une branche : $> git push origin --delete <branche>
  • 155. 19/04/2016 155 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu dans cette vidéo : Comment suivre une branche distante. Comment tirer une branche. Comment supprimer une branche. • Vidéo suivante : Rebaser (Rebasing)
  • 156. 19/04/2016 156 Formation Git alphorm.com™© Rebaser (Rebasing) Les branches avec Git Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 157. 19/04/2016 157 Formation Git alphorm.com™© Plan • Introduction • Les bases • Rebases plus intéressant • Les dangers du rebasage • Rebaser quand vous rebasez • Rebaser ou fusionner ?
  • 158. 19/04/2016 158 Formation Git alphorm.com™© Introduction • Il y a deux façons d’intégrer des modifications dans une branche : En fusionnant (merge) En rebasant (rebase)
  • 161. 19/04/2016 161 Formation Git alphorm.com™© Les bases • La commande ‘rebase’, Git va prendre toutes les modifications qui ont été validées sur une branche et les rejouer sur une autre. $> git rebase master
  • 162. 19/04/2016 162 Formation Git alphorm.com™© Rebases plus intéressant • On veut fusionner nos modifications de ‘client’ avec ‘master’ mais on veut retenir la branche ‘master’ $> git rebase --onto master server client • "Extraire la branche client, déterminer les patchs depuis l’ancêtre commun des branches client et serveur puis les rejouer sur master "
  • 163. 19/04/2016 163 Formation Git alphorm.com™© Rebases plus intéressant • Et maintenant, on peut avancer ‘master’. $> git checkout master $> git merge client
  • 164. 19/04/2016 164 Formation Git alphorm.com™© Rebases plus intéressant • Et maintenant, la branche ‘server’ à partir de la branche ‘master’ $> git rebase master server • Une avance rapide sur la branche ‘master’: $> git checkout master $> git merge serveur
  • 165. 19/04/2016 165 Formation Git alphorm.com™© Rebases plus intéressant • Et on peut supprimer les branches restantes : $> git branch –d client $> git branch –d server
  • 166. 19/04/2016 166 Formation Git alphorm.com™© Les dangers du rebasage • Ne rebasez jamais des commits qui ont déjà été poussés sur un dépôt public.
  • 171. 19/04/2016 171 Formation Git alphorm.com™© Rebaser ou fusionner • C’est très important de conserver votre historique intact. • Une fusion (merge) va créer un commit • Un rebase va réagencer les commits et suivre l’historique
  • 172. 19/04/2016 172 Formation Git alphorm.com™© Ce qu’on a couvert • Nous maitrisons le rebase parfaitement. • Nous avons vu plusieurs exemples de rebase. • À vous de faire un choix ! ;-) • Prochain chapitre: Github
  • 173. 19/04/2016 173 Formation Git alphorm.com™© Création et configuration d’un compte Github Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 174. 19/04/2016 174 Formation Git alphorm.com™© Plan • Inscription • Accès par SSH • Vos adresses emails • Authentification à deux facteurs
  • 175. 19/04/2016 175 Formation Git alphorm.com™© Inscription • Créons-nous un compte sur : https://github.com • N’oubliez pas de vérifier votre compte grâce à l’email que vous avez reçu.
  • 176. 19/04/2016 176 Formation Git alphorm.com™© Accès par SSH • Si vous voulez joindre les serveurs de github par SSH, il faut ajouter vos clefs SSH. • Setting -> SSH keys • Et vous ajoutez votre clef publique.
  • 177. 19/04/2016 177 Formation Git alphorm.com™© Vos adresses électroniques • Github utilise les adresses électroniques pour faire correspondre les commits Git aux utilisateurs. • Pour ajouter les adresses électroniques : Setting -> Emails
  • 178. 19/04/2016 178 Formation Git alphorm.com™© Authentification en deux facteurs • L’authentification à deux facteurs est un mécanisme d’authentification qui est devenu très populaire récemment pour réduire les risques de corruption de votre compte si votre mot de passe est dérobé. Setting -> Security • Soit par une application • Soit par un SMS
  • 179. 19/04/2016 179 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons désormais un compte git • La prochaine vidéo : Contribution à un compte
  • 180. 19/04/2016 180 Formation Git alphorm.com™© Contribution à un projet Github Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 181. 19/04/2016 181 Formation Git alphorm.com™© Plan • Dupliquer un projet • Processus Github
  • 182. 19/04/2016 182 Formation Git alphorm.com™© Dupliquer un projet •C’est simple ! https://github.com/didouard/project-alphorm
  • 183. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 184. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 185. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 186. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 187. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 188. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 189. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 190. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 191. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 192. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 193. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 194. 19/04/2016 6 Formation Git alphorm.com™© Objectifs de la formation • Étudier Git pour pouvoir l’utiliser pour des projets personnels ou professionnels. • Git surclasse les autres outils SCM (Source Code Management) par sa performance, la taille des dépôts et ses fonctionnalités uniques. • Dans cette formation nous allons étudier en profondeur les fondamentaux de Git. Bien comprendre les bases, pour voir des notions plus complexes lors de la seconde formation. • A l’issue de la formation, vous aurez appris à configurer et utiliser GIT dans un contexte de gestion quotidienne des sources d’un projet professionnel.
  • 195. 19/04/2016 195 Formation Git alphorm.com™© Gestion des requêtes de tirage • À partir de là, on peut lancer une conversation si nous avons des questions concernant ce pull request. • Une fois que vous êtes ok pour le pull request, vous avez le choix De faire un ‘git pull <url> <branch>’ D’ajouter le clone comme un dépôt distance, le récupérer et le fusionner De cliquer sur le bouton ‘Merge’ sur le site internet.
  • 196. 19/04/2016 196 Formation Git alphorm.com™© Mentions et notifications • GitHub dispose également d’un système de notifications qui peut devenir utile lorsque vous avez des questions de certaines personnes ou d’équipes. • Dans tous les commentaires, si vous saisissez le caractère @, cela commence à proposer des noms et des noms d’utilisateur de personnes qui collaborent ou contribuent au projet. • Une fois le commentaire posté, tous ceux qui sont tagués recevront une notification. • Il est possible de se désinscrire de ces notifications : Setting -> Notification center
  • 197. 19/04/2016 197 Formation Git alphorm.com™© Fichiers spéciaux • Le premier est le fichier README (LISEZ-MOI) qui peut être écrit sous n’importe quel format textuel reconnu par GitHub. • Il contient habituellement des choses comme : À quoi sert le projet. Comment le configurer et l’installer. Un exemple d’utilisation et comment le lancer. La licence sous laquelle le projet est proposé. Comment y contribuer.
  • 198. 19/04/2016 198 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu comment gérer un projet. • Prochaine vidéo : Gestion d’un regroupement
  • 199. 19/04/2016 199 Formation Git alphorm.com™© Gestion d’un regroupement Github Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 200. 19/04/2016 200 Formation Git alphorm.com™© Plan • Introduction • Les bases d’un regroupement • Équipes • Journal d’audit
  • 201. 19/04/2016 201 Formation Git alphorm.com™© Introduction • Les regroupements sont des ‘Organisations’. • Ce sont comme des comptes personnels : Dépôts Suivi • Ces comptes représentent un groupe de personnes qui partagent la propriété de projets et de nombreux outils de gestion de sous-groupes parmi ces personnes sont proposés. • Normalement ces comptes sont utilisés pour des groupes open source (tels que « perl » ou « rail ») ou des sociétés (comme « google » ou « twitter »).
  • 202. 19/04/2016 202 Formation Git alphorm.com™© Les bases d’un regroupement • Pour créer un regroupement : • Puis il faut trouver : Un nom Un email Inviter d’autres utilisateurs Les regroupements sont gratuits si tout ce que vous envisagez d’enregistrer est open source.
  • 203. 19/04/2016 203 Formation Git alphorm.com™© Équipes • Il est possible de créer des équipes (team) • On peut associer certains utilisateurs à certaines équipes • Lorsque vous invitez quelqu’un dans une équipe, celui-ci reçoit un courriel lui indiquant qu’il a été invité.
  • 204. 19/04/2016 204 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu les regroupements pour les grandes entreprises ou les grands projets. • Prochaine vidéo: Écriture de scripts pour GitHub
  • 205. 19/04/2016 205 Formation Git alphorm.com™© Écriture de scripts pour GitHub (Hooks) Github Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com
  • 206. 19/04/2016 206 Formation Git alphorm.com™© Plan • Les services • Les webhooks • L’interface de programmation (API) GitHub • Commenter un problème • Changer le statut d’une requête de tirage • Octokit
  • 207. 19/04/2016 207 Formation Git alphorm.com™© Les services • La section « Hooks & Services » (crochets et services) de l’administration de dépôt GitHub est la façon la plus facile de faire interagir GitHub avec des systèmes externes. • Ils sont accessibles dans Setting -> Webhooks et Services • On trouve énormément de liens vers : des services d’intégration continue des analyseurs de bogues et d’anomalies des systèmes de salon de discussion des systèmes de documentation
  • 208. 19/04/2016 208 Formation Git alphorm.com™© Les webhooks • Si vous avez besoin de quelque chose de plus spécifique, quelque chose qui n’est pas présent dans les services, on peut utiliser les webhooks. • Les webhooks sont des inscriptions à des évènements. • À chaque évènement, github va appeler une URL en POST
  • 209. 19/04/2016 209 Formation Git alphorm.com™© L’interface de programmation (API) GitHub • Github met à disposition une API pour avoir plus d’informations. • https://developer.github.com/v3/ • Presque tout ce que nous pouvons faire à partir du site internet de Github peut être fait avec l’API • Certaines requêtes nécessitent une authentification. • Exemple simple : $> curl https://api.github.com/users/<username> $> curl https://api.github.com/gitignore/templates/Java
  • 210. 19/04/2016 210 Formation Git alphorm.com™© L’interface de programmation (API) GitHub • Il y a plusieurs méthodes d’authentification : Basic Jeton d’accès personnel (Personnal setting -> Personal access token) • Exemple plus complexe : $> curl https://api.github.com/repos/<utilisateur>/<dépôt>/issues/<num>/comments curl -H "Content-Type: application/json" -H "Authorization: token TOKEN" --data '{"body":"A new comment, :+1:"}' https://api.github.com/repos/didouard/blink/issues/6/comments
  • 211. 19/04/2016 211 Formation Git alphorm.com™© L’interface de programmation (API) GitHub • On peut faire un peu prêt tout ce que l’on peut faire avec le site internet : créer et définir des jalons assigner des gens à des problèmes ou à des requêtes de tirage créer et changer des étiquettes accéder à des données de commit créer de nouveaux commits et des branches ouvrir, fermer ou fusionner des requêtes de tirage, créer et éditer des équipes commenter des lignes de code dans une requête de tirage bien plus encore.
  • 212. 19/04/2016 212 Formation Git alphorm.com™© Octokit • Octokit est le nom de plusieurs clients pour l’API Github, aujourd’hui disponible : .NET Ruby roolkit Simple Go Objective-C Python • https://github.com/octokit
  • 213. 19/04/2016 213 Formation Git alphorm.com™© Ce qu’on a couvert • Nous avons vu comment interagir avec Github, soit En s’inscrivant à des événements. En interrogeant ou modifiant nos dépôts sur Github. • Prochaine vidéo: La conclusion !
  • 214. 19/04/2016 214 Formation Git alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Édouard FERRARI Formateur et Consultant indépendant Contact : edouard.ferrari@gmail.com Conclusion
  • 215. 19/04/2016 215 Formation Git alphorm.com™© Ce qu’on a couvert • Comment installer et paramétrer GIT • Les différents états des fichiers • Les branches, les fusions et les rebases • Les branches distantes • Création de comptes github • Contribution et gestion d’un projet Github • Prochaine formation: Git, avancé
  • 216. 19/04/2016 216 Formation Git alphorm.com™© Avez-vous des Questions / Remarques / Commentaires ?
  • 217. 19/04/2016 217 Formation Git alphorm.com™© A la 2ème formation sur Git
  • 218. 19/04/2016 218 Formation Git alphorm.com™© À bientôt ☺ Keep in touch ! E-mail : edouard@ferrari.wf Linkedin : https://fr.linkedin.com/in/edouardferrari Twitter : https://twitter.com/edouard_ferrari Alphorm : http://www.alphorm.com/formateur/edouard-ferrari