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

Git l'essentiel