Upload
epixelic
View
935
Download
0
Embed Size (px)
Citation preview
Intervenant: Benoît DURAND [email protected]
GitUn logiciel de gestion de versions décentralisée
11/04/2011 Méthodologie
Git 2
1. Pourquoi changer ?
1. Les branches2. Le travail hors-ligne3. Le workflow4. Rapide et efficace
11/04/2011
Git 3
Le workflow actuel
Une gestion centralisé
11/04/2011
Dépôt SVN
Développeur 1 Développeur 2 Développeur 3
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)
Git 5
Qu’est-ce que Git ?
Git n’est pas subversion
11/04/2011
Git 6
Qu’est-ce que Git ?
Git n’est pas subversion+
Git n’est pas une évolution de subversion
11/04/2011
Git 7
Un piège à éviter
Git n’est pas subversion+
Git n’est pas une évolution de subversion=
Oubliez subversion !
11/04/2011
Git 8
Nouveaux concepts
Oubliez tout ce quevous croyez savoir !
11/04/2011
Git 9
Nouveaux concepts
11/04/2011
Dossier local
Git est stocké dans un seul répertoire
(.git)
Git 10
Nouveaux concepts
11/04/2011
Dossier local Dépôt local Dépôt distant
Git est distribué
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
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
Git 13
Un raccourci
11/04/2011
Working copy Staging area Dépôt local
add
commit
commit -a
stage+
commit=
commit -a
Git 14
Un autre raccourci
11/04/2011
Working copy Dépôt local Dépôt distant
pull
fetch + merge=
pull
merge
fetch
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
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)
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)
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
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
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
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)
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
Git 23
Nouveaux concepts
Un commit est identifié par un sha1 :1c419acf
11/04/2011
Git 24
Nouveaux concepts
1c419acfda59e095f169a435512ee5e1edaaa06c
11/04/2011
Git 25
Du rêve
• git stash• git rebase –interactive• git commit --amend
11/04/2011
Git 26
La migration du dépôt
git-svn
11/04/2011
Git 27
Gitweb
11/04/2011
Git 28
GitHub (numéro 1)
11/04/2011
Git 29
Gitorious (open source)
11/04/2011
Git 30
Les outils pour Windows
11/04/2011
• msysgit (bash et gui)• EGit (plugin eclipse)• TortoiseGIT• NBGit (plugin NetBeans)• PhpStorm
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
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
Git 33
Questions ?
11/04/2011