Intro Git Github
Intro Git Github
Intro Git Github
●
Git
●
C’est quoi?
●
Les bases
●
Les branches
●
Travailler avec un serveur distant
●
GitHub
●
C’est quoi?
●
Les Pull Requests
2
Git >> C’est quoi?
3
Git, c’est quoi?
●
Git = Logiciel de gestion de versions
●
Logiciel libre et gratuit
●
Permet de
●
Conserver l’historique des modifications aux fichiers d’un
projet
●
Revenir en arrière (annuler des modifications)
●
Gérer en parallèle plusieurs versions d’un projet et les
fusionner (idéal pour la collaboration)
4
Historique
●
Créé en 2005 par Linus Torvalds (créateur du
noyau Linux)
●
Présentement à la version 2
5
Quelques logiciels concurrents
●
SVN
●
CVS
●
Mercurial
6
Git >> Les bases
7
Utilisation
●
Traditionnellement utilisé en ligne de
commande
●
Il existe aussi des outils graphiques, ex:
●
GitKraken
●
GitHub Desktop
●
SourceTree
8
Les dépôts
●
Un projet Git est appelé un dépôt (repository
en anglais, repo pour les intimes)
●
Concrètement, un dépôt est un répertoire
●
contenant des fichiers (typiquement de code source)
●
dont l’historique des modifications est géré par Git
9
Créer un dépôt
10
Les commits
●
Pour qu’une modification soit « sauvegardée »
par Git, elle doit être ajoutée à l’historique par
un « commit »
●
Un commit...
●
Est identifié par un message composé par l’utilisateur
(commit message)
●
Peut comporter des modifications à plusieurs fichiers
11
États des fichiers
●
On distingue trois « états » des fichiers
●
un état de travail: le fichier a subi des modifications, mais n’a
pas encore été ajouté à un futur commit
●
un état de futur enregistrement (staging): le fichier a été
identifié comme devant être ajouté au prochain commit
●
un état archivé : toutes les modifications apportées au fichier
ont été « commitées »
12
Ajouter une modification
La commande « git add » permet d’ajouter un
fichier au prochain commit (donc de mettre le
fichier en staging)
13
Consulter l’état du dépôt
La commande « git status » affiche l’état des
modifications non « commitées » (« stagées » ou non)
14
Ajouter un commit
La commande « git commit » permet de créer un
nouveau commit. Il faut utiliser l’option -m pour
indiquer le message à associer au commit.
15
Ajout automatique des fichiers modifiés
(git commit -a)
16
Consulter l’historique du dépôt
17
Tableau-synthèse des commandes de
base
Description Commande
19
Les branches
●
Les branches permettent de gérer en parallèle
plusieurs versions d’un dépôt
●
Créer une branche, c’est donc un peu comme
utiliser la fonction « Sauvegarder sous » d’un
logiciel
●
Sauf qu’on peut plus facilement fusionner
deux versions (branches) par la suite!
20
Exemple visuel
Commit de
Commit Commit Commit
Commit3 Commit Commit
Branche A Fusion
Création de la
branche B à Fusion de
partir d’un la branche
commit de la B dans la
branche A branche A
21
Branche principale et utilité des
branches
●
La branche par défaut s’appelle master
●
Tendance depuis 2020 à renommer cette branche en « main »
pour éviter la référence à l'esclavage
●
Les branches permettent de travailler sur
différents problèmes en parallèle
●
Possibilité de travailler sur des problèmes différents en même
temps et de changer de tâche rapidement
●
Ex:
●
La branche main qui contient les fonctionnalités stables du logiciel
●
La branche fonctionnalite1 pour travailler sur le développement de la
fonctionnalité 1
●
La branche bogue1 pour travailler sur la résolution du bogue 1
22
Créer une branche
23
Se déplacer dans une branche
24
Fusionner une branche
25
Git >> Travailler avec un serveur
distant
26
Travailler avec un serveur distant
●
Git est décentralisé
●
C’est-à-dire que tous les utilisateurs contribuant à un dépôt
possèdent une copie complète de celui-ci sur leur poste, avec
tout l’historique des commits
●
Pour que plusieurs utilisateurs puissent
collaborer ensemble, il faut qu’un serveur
distant maintienne lui aussi une copie du dépôt
27
Récupérer un dépôt distant
●
Pour contribuer à un dépôt, on doit d’abord
cloner celui-ci depuis le serveur qui l’héberge
●
On travaille ensuite localement en créant des
branches et des commits à volonté
Copie du dépôt
Copie locale
sur un serveur
du dépôt
distant Clonage
28
Mettre à jour une branche distante
●
Pour partager ses modifications, on doit
effectuer un push d’une branche locale vers le
serveur distant
Copie du dépôt
Copie locale
sur un serveur
du dépôt
distant
Branche Branche
Push
29
Mettre à jour une branche locale
●
Pour récupérer les modifications effectuées par
autrui, on doit effectuer un pull d’une branche
du serveur distant vers le dépôt local
Copie du dépôt
Copie locale
sur un serveur
du dépôt
distant
Branche Branche
Pull
30
Commandes
●
Les commandes permettant d’effectuer ces
opérations seront couvertes dans l’exercice
31
GitHub, c’est quoi?
32
GitHub, c’est quoi?
●
Hébergeur de dépôts Git (serveur distant)
●
Interface Web permettant de visualiser les dépôts
●
Permet de gérer l’accès aux dépôts (utilisateurs
autorisés en lecture et en écriture)
●
Gestion de bogues et de tickets (GitHub Issues)
●
Gestion de fusion de branches et de revue de code
(code review)
33
Principaux concurrents
●
GitLab
●
Bitbucket
34
GitHub >> Les Pull Requests
35
Les Pull Requests
●
Les bonnes pratiques veulent qu’on ne travaille
jamais directement sur la branche principale
●
Lorsqu’on est prêt à fusionner notre branche
dans la branche principale, on effectue un Pull
Request via GitHub
36
Les Pull Requests
●
Les autres contributeurs du dépôt sont alors en
mesure d’effectuer une revue de code
●
Une fois le Pull Request approuvé, la branche
correspondante peut être fusionnée
directement via l’interface Web
37
Fin de la présentation
Des questions?