28
Le protocole Git et GitHub Groupe G2A - Alexis Dahan, Alexandre Gay, Hugo Michard Louis Arbaretier, Thibaut Vlacich, Léo Plouvier 1 27/10/2015

Présentation Git & GitHub

Embed Size (px)

Citation preview

Page 1: Présentation Git & GitHub

Le protocole Git et GitHub

Groupe G2A - Alexis Dahan, Alexandre Gay, Hugo MichardLouis Arbaretier, Thibaut Vlacich, Léo Plouvier 1

27/10/2015

Page 2: Présentation Git & GitHub

27/10/2015

2

Sommaire de la présentationI. Introduction aux systèmes de gestion de versionsII. Pourquoi utiliser un système de gestion de versions ?III. Le cas particulier de GitIV. GitHub et son interface graphiqueV. L’intégration du protocole Git à l’IDEVI. Conclusion

Page 3: Présentation Git & GitHub

27/10/2015

3

I. Introduction aux systèmes de gestion de versions La gestion de versions (en anglais “Version Control”) permet

de gérer multiples versions d’un document, d’un site Web, d’un programme etc. L’utilisation d’un tel système est essentielle dans un projet en

équipe, mais peut aussi être utile dans un projet individuel Les systèmes de gestion de versions les plus connus sont CVS,

Mercurial, Subversion ou encore Git CVS et Subversion utilisent un serveur « central ». Les utilisateurs

doivent fréquemment mettre à jour leur version de travail locale depuis ce serveur « central » et y envoyer leurs modifications

Mercurial et Git traitent, eux, tous les dépôts comme égaux Les systèmes Mercurial et Git sont plus récents et s’imposent

de plus en plus face à CVS et Subversion

Page 4: Présentation Git & GitHub

27/10/2015

4

Un exemple simple de gestion de versions L’exemple de Google Docs Historique des

modifications

La modificationeffectuée

Page 5: Présentation Git & GitHub

27/10/2015

5

II. Pourquoi utiliser un système de gestion de versions ? Lorsque l’on travaille seul :

Offre une « machine à voyager dans le temps », permettant de revenir à d’anciennes versions du projet

Offre la possibilité de travailler simultanément sur différentes versions d’un même projet (exemple : version en production et version de développement)

Lorsque l’on travaille en équipe : Simplifie grandement le travail simultané, et la fusion des

modifications

Page 6: Présentation Git & GitHub

27/10/2015

6

III. Le cas particulier de GitLe plan de cette partie :

1. Qu’est-ce que Git ?2. Pourquoi utiliser Git face à d’autres solutions ?3. Le fonctionnement de Git4. Comment installer Git ?5. Utiliser Git en lignes de commande

Page 7: Présentation Git & GitHub

27/10/2015

7

III. Le cas particulier de Git1. Qu’est-ce Git ?

Git est un logiciel de gestion de versions décentralisé. Il est open source, et a été créé aux alentours de 2005 par Linus Torvalds, développeur du noyau Linux, tout d’abord pour son usage personnel car il n’aimait pas les solutions déjà existantes comme CVS ou SVN.

“When I say I hate CVS with a passion, I have to also say that if there are any SVN [Subversion] users in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started. The slogan of Subversion for a while was "CVS done right", or something like that, and if you start with that kind of slogan, there's nowhere you can go. There is no way to do CVS right.”

Linus Torvalds

Page 8: Présentation Git & GitHub

27/10/2015

8

III. Le cas particulier de Git2. Pourquoi utiliser Git face à d’autres solutions ?

Git a de nombreux avantages face à de plus anciens systèmes comme CVS et Subversion (SVN) Git est extrêmement simple d’utilisation, notamment couplé à une interface

graphique comme GitHub Git est rapide

Travailler hors-ligne : Git ne requiert pas de serveur distant pour fonctionner Et bien entendu, Git est gratuit et open source

Page 9: Présentation Git & GitHub

27/10/2015

9

III. Le cas particulier de Git3. Le fonctionnement de Git

Faire un commit Lorsque vous avez fait des modifications dans votre code, il faut les publier

(faire un « commit ») Un commit doit obligatoirement être accompagné d’une courte description

(de préférence en anglais, et en quelques mots) Exemple d’un bon commit : « Adds robots.txt » Exemple d’un mauvais commit : « Modification de la ligne 75 du fichier

System/Main.php »

git commit -am "Commit description"

Page 10: Présentation Git & GitHub

27/10/2015

10

III. Le cas particulier de Git3. Le fonctionnement de Git

Le principe des branchesmaster

Ma fonctionnalité

Création d’une nouvelle branche Fusion de la nouvelle branchedans la branche principale

git checkout -b my_new_branch

La création d’une nouvelle branche est particulièrement utile lorsque plusieurs versions d’une même application cohabitent, ou lorsque l’on veut développer une nouvelle fonctionnalité nécessitant des changements majeurs dans le code

Page 11: Présentation Git & GitHub

27/10/2015

11

III. Le cas particulier de Git3. Le fonctionnement de Git

Résoudre un conflit Parfois, il peut arriver que l’une de vos modifications entre en conflit avec

les modifications de quelqu’un d’autre, et que Git ne soit pas capable de fusionner automatiquement vos modifications

Dans ce cas, il sera demandé de corriger manuellement le conflit en allant éditer le(s) fichier(s) concerné(s)

Page 12: Présentation Git & GitHub

27/10/2015

III. Le cas particulier de Git

12

3. Le fonctionnement de Git

Exemple d’un conflit

Hello world!

I’m using Git.

Hi everyone!

I’m using Git.

Hello everyone!

I’m using Git.

Developer A

Developer B

La fusion est ici impossible

Il y a un conflit !

Bonjour le monde !

J‘utilise Git.

Version de base

master

branch B

Version fusionnée manuellement

Page 13: Présentation Git & GitHub

27/10/2015

13

III. Le cas particulier de Git3. Le fonctionnement de Git

Les dépôts distants (remote) La seule particularité d’un dépôt distant est d’être situé dans le « cloud »

(ou dans un Intranet), et donc d’être accessible par tous 24h/24, 7j/7 Le dépôt distant permet à tous les collaborateurs de partager leurs

modifications du codeDépôt distant

Développeur A Développeur B

git pullgit push

Page 14: Présentation Git & GitHub

27/10/2015

14

III. Le cas particulier de Git4. Comment installer Git ?

Pour installer Git, il suffit simplement de télécharger l’installateur sur le site officiel de Git : https://git-scm.com/downloads

Page 15: Présentation Git & GitHub

27/10/2015

15

III. Le cas particulier de Git5. Utiliser Git en lignes de commande

Après avoir installé Git, il suffit de lancer le logiciel « Git Bash » pour pouvoir utiliser Git en mode lignes de commande

Page 16: Présentation Git & GitHub

27/10/2015

16

III. Le cas particulier de Git5. Utiliser Git en lignes de commande

Cependant, l’utilisation de Git en lignes de commande peut-être relativement compliquée et non-intuitive et nous n’entrerons donc pas dans les détails

Nous préférerons donc l’utilisation d’une interface graphique comme celle développée par GitHub

Si vous voulez cependant en savoir plus sur l’utilisation de Git en lignes de commande, GitHub met à disposition un court aide-mémoire regroupant les principales commandes utilisables avec Git :

https://training.github.com/kit/downloads/fr/github-git-cheat-sheet.pdf

Page 17: Présentation Git & GitHub

27/10/2015

17

IV. GitHub et son interface graphiqueLe plan de cette partie :

1. Qu’est-ce que GitHub ?2. Comment installer GitHub Desktop ?3. Comment créer un dépôt GitHub et le cloner sur son ordinateur ?4. L’interface de GitHub Desktop5. Obtenir gratuitement un compte « Micro » grâce au programme

« GitHub Education »

Page 18: Présentation Git & GitHub

27/10/2015

18

IV. GitHub et son interface graphique1. Qu’est-ce que GitHub ?

GitHub est avant tout une communauté Elle regroupe plus de 11 millions d’utilisateurs Plus de 28 millions de projets ont été créé sur GitHub Elle permet de faciliter la collaboration de développeurs du monde entier

sur un même projet Mais GitHub est aussi une société d’hébergement, qui propose des

solutions de gestion de développement de logiciels, basées sur le protocole Git

L’utilisation de GitHub est entièrement gratuite, dans le cadre d’un développement open source (et donc public)

GitHub a également développé un logiciel appelé « GitHub Desktop », qui permet de gérer son projet sous Git très facilement, via une interface graphique

Page 19: Présentation Git & GitHub

27/10/2015

19

IV. GitHub et son interface graphique1. Qu’est-ce que GitHub ?

GitHub est utilisé par de nombreuses sociétés du monde des nouvelles technologies pour leurs projets open source

Entre autres…

Page 20: Présentation Git & GitHub

27/10/2015

20

IV. GitHub et son interface graphique2. Comment installer GitHub Desktop ?

GitHub Desktop est disponible sur Windows et Mac GitHub Desktop est gratuit et téléchargeable sur https://

desktop.github.com GitHub Desktop permet de faire simplement et graphiquement toutes

les opérations liées à Git

Page 21: Présentation Git & GitHub

27/10/2015

21

IV. GitHub et son interface graphique3. Comment créer un dépôt GitHub et le cloner sur son ordinateur ?

Tout d’abord il faut créer un compte gratuitement sur https://github.com

Une fois le compte créé, il suffit de cliquer sur le petit pour créer un nouveau dépôt

Page 22: Présentation Git & GitHub

27/10/2015

22

IV. GitHub et son interface graphique3. Comment créer un dépôt GitHub et le cloner sur son ordinateur ?

Une fois le dépôt créé, il est possible de le cloner localement sur votre machine en un clic, via GitHub Desktop, en cliquant sur

Il est recommandé de cloner le dépôt dans le dossier htdocs de XAMPP

Page 23: Présentation Git & GitHub

27/10/2015

23

IV. GitHub et son interface graphique4. L’interface de GitHub Desktop

Les captures d’écrans ont été réalisées sur la version Windows de GitHub Desktop. L’interface sur Mac est très similaire, mais comporte quelques légères différences.

Historique des modifications

Détail des modifications

Synchroniser le dépôt local avec le dépôt remote

Créer une nouvelle brancheChanger de branche

Page 24: Présentation Git & GitHub

27/10/2015

24

IV. GitHub et son interface graphique4. L’interface de GitHub Desktop

Les captures d’écrans ont été réalisées sur la version Windows de GitHub Desktop. L’interface sur Mac est très similaire, mais comporte quelques légères différences.

Liste des fichiers modifiésDétail des modifications

Description du commit

Page 25: Présentation Git & GitHub

27/10/2015

25

IV. GitHub et son interface graphique5. Obtenir un compte « Micro » grâce au programme « GitHub Education »

GitHub offre la possibilité aux étudiants d’obtenir gratuitement un compte « Micro » (normalement à 7$ par mois), permettant d’avoir jusqu’à 5 dépôts privés durant la durée des études.

Pour cela, il suffit de se rendre sur https://education.github.com/ et de demander son « Student Developer Pack » !

Il n’est pas nécessaire que tous les membres du groupe fassent une demande. Seul le propriétaire du dépôt a besoin d’un compte « Micro »

Page 26: Présentation Git & GitHub

27/10/2015

26

V. L’intégration de Git à l’IDE L’exemple d’Atom, l’IDE développé par GitHub.Atom est gratuit et téléchargeable sur www.atom.io

Page 27: Présentation Git & GitHub

27/10/2015

27

VI. ConclusionEn conclusion, Git est un outil performant et simple d’utilisation, qui facilitera grandement le travail en équipe au sein de votre groupe durant le développement de votre site web.

Les principales difficultés liées à l’utilisation de Git viennent de la résolution des éventuels conflits entre vos modifications et celles des autres.

Pour éviter au maximum les conflits : Eviter que plusieurs personnes travaillent sur une même partie du code en

même temps Avant de commencer à travailler, s’assurer de récupérer la dernière version du

code Publier ses modifications (faire un « commit ») le plus souvent possible Eviter de « commit » de trop grosses modifications