SlideShare une entreprise Scribd logo
15/06/14
GIT – L'essentiel
2
Plan

Introduction

Les Bases

Gestion des branches

Git Workflow
3
GIT C'est quoi ?

Système de gestion de versions libre et open
source (licence publique générale GNU )

Créé par Linus Torvalds « créateur du noyau
Linux »

Essentiellement pour les développeurs (code
source)
4
Pourquoi GIT ?

SCM distribué

Copie en local tout le répo avec l'historique

Presque toutes les opérations sont locales

GIT gère des photos instantanées du
workspace (fichiers non modifiés ne sont pas
restockés)

Git garantit l'intégrité des données

Gestion de branche très souple
5
Terminologie

master: branche principale

origin: designe toujours le serveur à partir duquel vous
avez cloné le projet

clone: copier en local un repo distant

commit: soumettre dans le repo local

fetch/pull: mise à jour du repo local (pull = fetch +
merge)

push: soumettre dans le repo distant

head: référence vers le nœud auquel pointe notre
workspace

SHA: chaque commit est référencé par une clé unique
6
Installation GIT
 Binaire à dézipper / Installeur sous windows /
yum install / apt-get install / ...
 Ajout dans le PATH du système d'exploitation
 Vérification de la bonne installation
7
Configuration GIT
 /etc/gitconfig : les conf pour tous les
utilisateurs du système (git config
--system)
 ~/.gitconfig : spécifique à chaque
utilisateur
 (git config --global)
 .git/config : spécifique au projet
courant
 Pour windows : .gitconfig est situé dans
 C:Documents and Settings$User
et /etc/gitconfig du répertoire
d'installation de GIT
8
Configurer GIT 1/3
9
Configurer GIT 2/3
10
Configurer GIT 3/3

Comment créer un Alias ?
11
Git Ignore

Fichier déclaratif

Permet d'ignorer le commit de fichiers, pattern,
répertoire, ...

S'appelle .gitignore et se situe à la racine
d'un projet
12
Git – Les bases (1/2)
13
Git – les bases (2/2)
Les fichiers sous GIT ont 3 états :

Modifié (le fichier est modifié mais n'est pas
stocké en BD locale)

Indexé (il est dans la staging area)

Validé (stocké en BD locale)
14
Démarrer avec GIT (1/2)

Création d'un répo
15
Démarrer avec GIT (2/2)

Récupération d'un répo
16
Workspace GIT

config: options de conf pour le workspace

hooks : scripts de procédures automatiques

objects : contenu de la base de données git

refs : pointeurs qui référencent les commits
17
Connaître l'état de son répo
18
Ajout des fichiers sous contrôle GIT
19
Comitter un fichier (repo local)
20
Visualiser les modifications

Comparer les modifications introduites par
rapport au « staging area »
21
Historique des commits
22
Corriger les erreurs 1/2

Rectifier un commit (ajout, suppression, modif,
changement commentaire)

Enlever un fichier de l'index (staging area)
23
Corriger les erreurs 2/2

Reprendre un fichier du repo
24
Travailler avec un repo distant

Lister les repos distants

Récupérer des changements sans merge
25
Push sur un repo distant

Commit vers le repo distant
26
Revenir à un commit précis
27
Rollback
28
Blame

Trouver le commit qui a introduit un problème
29
Stash

Sauvegarder un travail incomplet
30
Gestion des branches
31
Git Merge
32
Gestion des conflits
33
Rebase vs Merge

Merge : Fusion classique entre 2 branches

Rebase : Récupérer le diff introduit dans une
branche quelconque et le rapatrier dans sa
branche

Conseil : utiliser Rebase uniquement pour ses
branches privées locales (afin de la garder à
jour)
34
Outillage

Client GIT : Source Tree

Gestionnaire de repo : Stash
35
Git Workflow
36
Références

Git pro « Scott Chacon »

Linux pratique

DZone
37

Contenu connexe

Tendances

Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
 
Git training v10
Git training v10Git training v10
Git training v10
Skander Hamza
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
Behzad Altaf
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
Emanuele Olivetti
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
Arulmurugan Rajaraman
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
neuros
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
Anurag Upadhaya
 
Git real slides
Git real slidesGit real slides
Git real slides
Lucas Couto
 
Introduction to Git / Github
Introduction to Git / GithubIntroduction to Git / Github
Introduction to Git / Github
Paige Bailey
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
Nick Quaranto
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
glen_a_smith
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
Sage Sharp
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
Danilo Pinotti
 
Learning git
Learning gitLearning git
Learning git
Sid Anand
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
Fran García
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
Somkiat Puisungnoen
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
Arthur Shvetsov
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
Taisuke Inoue
 
Git basics
Git basicsGit basics
Git basics
GHARSALLAH Mohamed
 

Tendances (20)

Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Git training v10
Git training v10Git training v10
Git training v10
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Introduction to Git / Github
Introduction to Git / GithubIntroduction to Git / Github
Introduction to Git / Github
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Learning git
Learning gitLearning git
Learning git
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 
Git basics
Git basicsGit basics
Git basics
 

En vedette

C'est si simple git ! (devoxx france 2012)
C'est si simple git ! (devoxx france 2012)C'est si simple git ! (devoxx france 2012)
C'est si simple git ! (devoxx france 2012)
Ulrich VACHON
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de version
goldoraf
 
Migration d'une base de code subversion vers git
Migration d'une base de code subversion vers gitMigration d'une base de code subversion vers git
Migration d'une base de code subversion vers git
Geoffrey Bachelet
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
ECAM Brussels Engineering School
 
Git Flow: un processus de développement Agile
Git Flow: un processus de développement AgileGit Flow: un processus de développement Agile
Git Flow: un processus de développement Agile
Xavier Hausherr
 
IoT Toulouse : introduction à mqtt
IoT Toulouse : introduction à mqttIoT Toulouse : introduction à mqtt
IoT Toulouse : introduction à mqtt
Julien Vermillard
 
Git flow in action
Git flow in actionGit flow in action
Git flow in action
cecilia_bossard
 
Introduction à Git (avec PHPStorm)
Introduction à Git (avec PHPStorm)Introduction à Git (avec PHPStorm)
Introduction à Git (avec PHPStorm)
Geoffrey Bachelet
 
Tutorial Git
Tutorial GitTutorial Git
Jeudis du libre_git
Jeudis du libre_gitJeudis du libre_git
Jeudis du libre_git
Dave Neary
 
Présentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitPrésentation du retour d'expérience sur Git
Présentation du retour d'expérience sur Git
Ippon
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
Ippon
 
Presentation git
Presentation gitPresentation git
Presentation git
Noirdes
 
Git Agile France 2010
Git Agile France 2010Git Agile France 2010
Git Agile France 2010
David Gageot
 
[Sigfox / LoRa] 8 Questions clés sur les réseaux pour objets connectés
[Sigfox / LoRa] 8 Questions clés sur les réseaux pour objets connectés[Sigfox / LoRa] 8 Questions clés sur les réseaux pour objets connectés
[Sigfox / LoRa] 8 Questions clés sur les réseaux pour objets connectés
ARUCO
 
En quoi git serait plus agile que svn ?
En quoi git serait plus agile que svn ?En quoi git serait plus agile que svn ?
En quoi git serait plus agile que svn ?
Guillaume Collic
 
Projet MQTT
Projet MQTTProjet MQTT
Projet MQTT
Ghassen Chaieb
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
SlideShare
 

En vedette (20)

C'est si simple git ! (devoxx france 2012)
C'est si simple git ! (devoxx france 2012)C'est si simple git ! (devoxx france 2012)
C'est si simple git ! (devoxx france 2012)
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de version
 
Migration d'une base de code subversion vers git
Migration d'une base de code subversion vers gitMigration d'une base de code subversion vers git
Migration d'une base de code subversion vers git
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
 
Git Flow: un processus de développement Agile
Git Flow: un processus de développement AgileGit Flow: un processus de développement Agile
Git Flow: un processus de développement Agile
 
IoT Toulouse : introduction à mqtt
IoT Toulouse : introduction à mqttIoT Toulouse : introduction à mqtt
IoT Toulouse : introduction à mqtt
 
Git flow in action
Git flow in actionGit flow in action
Git flow in action
 
Introduction à Git (avec PHPStorm)
Introduction à Git (avec PHPStorm)Introduction à Git (avec PHPStorm)
Introduction à Git (avec PHPStorm)
 
Tutorial Git
Tutorial GitTutorial Git
Tutorial Git
 
Jeudis du libre_git
Jeudis du libre_gitJeudis du libre_git
Jeudis du libre_git
 
Présentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitPrésentation du retour d'expérience sur Git
Présentation du retour d'expérience sur Git
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
 
Presentation git
Presentation gitPresentation git
Presentation git
 
Git Agile France 2010
Git Agile France 2010Git Agile France 2010
Git Agile France 2010
 
[Sigfox / LoRa] 8 Questions clés sur les réseaux pour objets connectés
[Sigfox / LoRa] 8 Questions clés sur les réseaux pour objets connectés[Sigfox / LoRa] 8 Questions clés sur les réseaux pour objets connectés
[Sigfox / LoRa] 8 Questions clés sur les réseaux pour objets connectés
 
En quoi git serait plus agile que svn ?
En quoi git serait plus agile que svn ?En quoi git serait plus agile que svn ?
En quoi git serait plus agile que svn ?
 
Projet MQTT
Projet MQTTProjet MQTT
Projet MQTT
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similaire à Git l'essentiel

Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdf
badrfathallah2
 
Git
GitGit
Initiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfInitiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdf
mouad55
 
Cours sur github part3 git
Cours sur github part3 gitCours sur github part3 git
Cours sur github part3 git
Pape Diop
 
3_SCM_Git.pdf
3_SCM_Git.pdf3_SCM_Git.pdf
3_SCM_Git.pdf
NourFrioui
 
Débuter avec Git & github
Débuter avec Git & githubDébuter avec Git & github
Débuter avec Git & github
Monoem Youneb
 
Travailler avec git et eclipse
Travailler avec git et eclipseTravailler avec git et eclipse
Travailler avec git et eclipse
Francois ANDRE
 
Git and Github.pptx
Git and Github.pptxGit and Github.pptx
Git and Github.pptx
nnomokoarmel20
 
Git pratique
Git pratiqueGit pratique
Git pratique
quicky_osm
 
Git pratique
Git pratiqueGit pratique
Git pratique
quicky_osm
 
JCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueJCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratique
Rossi Oddet
 
Le système de versioning git
Le système de versioning gitLe système de versioning git
Le système de versioning git
Nassim Bahri
 
SVN to GitHUb
SVN to GitHUbSVN to GitHUb
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
 
Outils de gestion de projets
Outils de gestion de projetsOutils de gestion de projets
Outils de gestion de projets
ECAM Brussels Engineering School
 
les commandes Git que vous devez absolument connaitre!.pdf
les commandes Git que vous devez absolument connaitre!.pdfles commandes Git que vous devez absolument connaitre!.pdf
les commandes Git que vous devez absolument connaitre!.pdf
SimpleLearn1
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
Thibault Vlacich
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
Thierry Gayet
 
envol08-sgv envol08-sgv envol08-sgv envol08-sgv
envol08-sgv envol08-sgv envol08-sgv envol08-sgvenvol08-sgv envol08-sgv envol08-sgv envol08-sgv
envol08-sgv envol08-sgv envol08-sgv envol08-sgv
mia884611
 
Développement informatique : Gestion de projet, versioning, debugging, testin...
Développement informatique : Gestion de projet, versioning, debugging, testin...Développement informatique : Gestion de projet, versioning, debugging, testin...
Développement informatique : Gestion de projet, versioning, debugging, testin...
ECAM Brussels Engineering School
 

Similaire à Git l'essentiel (20)

Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdf
 
Git
GitGit
Git
 
Initiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdfInitiation à Git, GitHub2.pdf
Initiation à Git, GitHub2.pdf
 
Cours sur github part3 git
Cours sur github part3 gitCours sur github part3 git
Cours sur github part3 git
 
3_SCM_Git.pdf
3_SCM_Git.pdf3_SCM_Git.pdf
3_SCM_Git.pdf
 
Débuter avec Git & github
Débuter avec Git & githubDébuter avec Git & github
Débuter avec Git & github
 
Travailler avec git et eclipse
Travailler avec git et eclipseTravailler avec git et eclipse
Travailler avec git et eclipse
 
Git and Github.pptx
Git and Github.pptxGit and Github.pptx
Git and Github.pptx
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
JCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueJCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratique
 
Le système de versioning git
Le système de versioning gitLe système de versioning git
Le système de versioning git
 
SVN to GitHUb
SVN to GitHUbSVN to GitHUb
SVN to GitHUb
 
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...
 
Outils de gestion de projets
Outils de gestion de projetsOutils de gestion de projets
Outils de gestion de projets
 
les commandes Git que vous devez absolument connaitre!.pdf
les commandes Git que vous devez absolument connaitre!.pdfles commandes Git que vous devez absolument connaitre!.pdf
les commandes Git que vous devez absolument connaitre!.pdf
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
 
envol08-sgv envol08-sgv envol08-sgv envol08-sgv
envol08-sgv envol08-sgv envol08-sgv envol08-sgvenvol08-sgv envol08-sgv envol08-sgv envol08-sgv
envol08-sgv envol08-sgv envol08-sgv envol08-sgv
 
Développement informatique : Gestion de projet, versioning, debugging, testin...
Développement informatique : Gestion de projet, versioning, debugging, testin...Développement informatique : Gestion de projet, versioning, debugging, testin...
Développement informatique : Gestion de projet, versioning, debugging, testin...
 

Plus de Riadh MNASRI

Programmation Fonctionnelle avec Kotlin
Programmation Fonctionnelle avec KotlinProgrammation Fonctionnelle avec Kotlin
Programmation Fonctionnelle avec Kotlin
Riadh MNASRI
 
Ecrire son 1er DSL avec Kotlin
Ecrire son 1er DSL avec KotlinEcrire son 1er DSL avec Kotlin
Ecrire son 1er DSL avec Kotlin
Riadh MNASRI
 
Functional programming with streams
Functional programming with streamsFunctional programming with streams
Functional programming with streams
Riadh MNASRI
 
Kotlin arrowkt
Kotlin arrowktKotlin arrowkt
Kotlin arrowkt
Riadh MNASRI
 
BBL Reactive Programming
BBL Reactive ProgrammingBBL Reactive Programming
BBL Reactive Programming
Riadh MNASRI
 
Discover Micronaut
Discover MicronautDiscover Micronaut
Discover Micronaut
Riadh MNASRI
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
Riadh MNASRI
 

Plus de Riadh MNASRI (7)

Programmation Fonctionnelle avec Kotlin
Programmation Fonctionnelle avec KotlinProgrammation Fonctionnelle avec Kotlin
Programmation Fonctionnelle avec Kotlin
 
Ecrire son 1er DSL avec Kotlin
Ecrire son 1er DSL avec KotlinEcrire son 1er DSL avec Kotlin
Ecrire son 1er DSL avec Kotlin
 
Functional programming with streams
Functional programming with streamsFunctional programming with streams
Functional programming with streams
 
Kotlin arrowkt
Kotlin arrowktKotlin arrowkt
Kotlin arrowkt
 
BBL Reactive Programming
BBL Reactive ProgrammingBBL Reactive Programming
BBL Reactive Programming
 
Discover Micronaut
Discover MicronautDiscover Micronaut
Discover Micronaut
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
 

Git l'essentiel