git

33
Intervenant: Benoît DURAND [email protected] Git Un logiciel de gestion de versions décentralisée 11/04/2011 Méthodologie

Upload: epixelic

Post on 20-May-2015

935 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Git

Intervenant: Benoît DURAND [email protected]

GitUn logiciel de gestion de versions décentralisée

11/04/2011 Méthodologie

Page 2: Git

Git 2

1. Pourquoi changer ?

1. Les branches2. Le travail hors-ligne3. Le workflow4. Rapide et efficace

11/04/2011

Page 3: Git

Git 3

Le workflow actuel

Une gestion centralisé

11/04/2011

Dépôt SVN

Développeur 1 Développeur 2 Développeur 3

Page 4: Git

Git 4

Un nouveau workflow

Gestion par un chef de projet

11/04/2011

Dépôt officiel

Développeur 1(local)

Développeur 2(local)Chef de projet

Développeur 1(public)

Développeur 2(public)

Page 5: Git

Git 5

Qu’est-ce que Git ?

Git n’est pas subversion

11/04/2011

Page 6: Git

Git 6

Qu’est-ce que Git ?

Git n’est pas subversion+

Git n’est pas une évolution de subversion

11/04/2011

Page 7: Git

Git 7

Un piège à éviter

Git n’est pas subversion+

Git n’est pas une évolution de subversion=

Oubliez subversion !

11/04/2011

Page 8: Git

Git 8

Nouveaux concepts

Oubliez tout ce quevous croyez savoir !

11/04/2011

Page 9: Git

Git 9

Nouveaux concepts

11/04/2011

Dossier local

Git est stocké dans un seul répertoire

(.git)

Page 10: Git

Git 10

Nouveaux concepts

11/04/2011

Dossier local Dépôt local Dépôt distant

Git est distribué

Page 11: Git

Git 11

Nouveaux concepts

11/04/2011

Dossier local Dépôt local Dépôt distant

Git a unezone d’index

Zone d’index

Page 12: Git

Git 12

Tout est local

11/04/2011

Dossier local Zone d’index Dépôt local Dépôt distant

add

commit

checkout

push

fetch

merge

Page 13: Git

Git 13

Un raccourci

11/04/2011

Working copy Staging area Dépôt local

add

commit

commit -a

stage+

commit=

commit -a

Page 14: Git

Git 14

Un autre raccourci

11/04/2011

Working copy Dépôt local Dépôt distant

pull

fetch + merge=

pull

merge

fetch

Page 15: Git

Git 15

Création du dépôt officiel

Le chef de projet pousse vers le dépôt

11/04/2011

Dépôt officiel

Chef de projet

PUSH

Page 16: Git

Git 16

Création du dépôt local

Un développeur clone le dépôt

11/04/2011

Dépôt officiel

Chef de projet

clone

Développeur 2(local)

Page 17: Git

Git 17

Publication du travail

Le développeur pousse son travail

11/04/2011

Dépôt officiel

Chef de projet

PUSH

Développeur 2(local)

Développeur 2(public)

Page 18: Git

Git 18

Envoi d’un lot

Le développeur envoie une demande

11/04/2011

Dépôt officiel

Chef de projet Développeur 2(local)

Développeur 2(public)

pull request

Page 19: Git

Git 19

Le chef de projet intègre

Le chef de projet pousse les modifications

11/04/2011

Dépôt officiel

Chef de projet Développeur 2(local)

Développeur 2(public)

PUSH

Page 20: Git

Git 20

Mise à jour

Un développeur met à jour son master

11/04/2011

Dépôt officiel

Développeur 1(local)

Développeur 2(local)Chef de projet

Développeur 2(public)

pull

Page 21: Git

Git 21

Le nouveau workflow

Gestion par intégration

11/04/2011

Dépôt officiel

Développeur 1(local)

Développeur 2(local)Chef de projet

Développeur 1(public)

Développeur 2(public)

Page 22: Git

Git 22

Nouveaux concepts

Le vocabulaire change

11/04/2011

Git Subversion

clone checkout

pull update

checkout revert

branch copy

checkout switch

vim .gitignore propedit svn:ignore

Page 23: Git

Git 23

Nouveaux concepts

Un commit est identifié par un sha1 :1c419acf

11/04/2011

Page 24: Git

Git 24

Nouveaux concepts

1c419acfda59e095f169a435512ee5e1edaaa06c

11/04/2011

Page 25: Git

Git 25

Du rêve

• git stash• git rebase –interactive• git commit --amend

11/04/2011

Page 26: Git

Git 26

La migration du dépôt

git-svn

11/04/2011

Page 27: Git

Git 27

Gitweb

11/04/2011

Page 28: Git

Git 28

GitHub (numéro 1)

11/04/2011

Page 29: Git

Git 29

Gitorious (open source)

11/04/2011

Page 30: Git

Git 30

Les outils pour Windows

11/04/2011

• msysgit (bash et gui)• EGit (plugin eclipse)• TortoiseGIT• NBGit (plugin NetBeans)• PhpStorm

Page 31: Git

Git 31

Auto-formation

• http://progit.org/book/fr/• http://gitimmersion.com/• http://help.github.com/• http://git-scm.com/documentation• http://gitref.org/

11/04/2011

Page 32: Git

Git 32

Pourquoi ce nom ?

« I’m an egotistical bastard, and I name all my projects after myself. First Linux, now git. »

Linus Torvalds

11/04/2011

Page 33: Git

Git 33

Questions ?

11/04/2011