3. 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. 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. 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. 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. 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
13. 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)
16. 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
33. 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)