Série Git - Introduction (1/5)

Qu'est-ce que Git et comment l'installer et le paramétrer ?

Premier article d’une série de cinq sur Git. Il s’agit ici d’une brève introduction sur ce qu’est Git, pourquoi et comment l’utiliser et comment le configurer.

Git est un outil de gestion de versions décentralisé open source. Créé par Linus Torvalds, il est le logiciel de gestion de version le plus utilisé à travers le monde.

Comme ses prédécesseurs SVN et CVS, il conserve un historique de l’ensemble des modifications apportées aux fichiers qui composent un projet, mais propose l’avantage d’être décentralisé facilitant le travail en équipe.

Comme nous l’évoquions précédemment, le premier rôle de Git est de conserver l’historique des modifications. Il est ainsi très simple de revenir à une version précédente des développements.

Mais ses usages ne s’arrêtent pas là puisqu’il facilite grandement le travail en équipe sur le même projet grâce notamment à :

  • sa décentralisation : chacun travaille sur sa propre version du code source évitant ainsi de perturber les autres développements en cours.
  • sa gestion des fusions de codes : une fois le développement terminé, l’intégration des modifications est très simple.

L’interface privilégiée pour Git reste la ligne de commande. En effet, il s’agit du seul moyen d’accéder à l’ensemble des commandes que propose Git. L’utilisation de la ligne de commande présente aussi l’avantage de mieux maitriser les actions réalisées. Enfin, il s’agit de la seule interface uniforme sur l’ensemble des OS.

Pour obtenir de l’aide sur une commande il suffit d’ajouter --help à celle-ci :

1
git --help

Résultat :

1
2
3
4
5
6
usage: git [--version] [--help] [-C <path>] [-c <name>#<value>]
           [--exec-path[#<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir#<path>] [--work-tree#<path>] [--namespace#<name>]
           <command> [<args>]
[...]
Info

Malgré tout, de nombreux outils permettent l’utilisation de Git au travers d’une interface graphique. Parmi ceux-ci :

Le fonctionnement de Git repose sur trois fichiers de configuration :

  • Système /etc/gitconfig : affecte tous les utilisateurs du système local.
  • Global ~/.gitconfig ou ~/.config/git/config : affecte l’ensemble des projets locaux de l’utilisateur courant.
  • Local .git/config : affecte seulement le projet courant.

Chaque niveau écrasant la configuration des niveaux précédents.

Le paramétrage de Git peut se faire en modifiant directement les fichiers ou bien au travers de la commande git config.

Exemple :

1
2
3
4
git config --global user.name "Toto"          # Définit le user.name au niveau global
git config --global user.email toto@toto.com  # Définit le user.email au niveau global
git config user.email tutu@tutu.com           # Définit une autre valeur pour user.email au niveau local
git config -l                                 # Affiche la configuration effective

Résultat :

1
2
user.name = Toto
user.email = tutu@tutu.com

On constate ci-dessus que la valeur de user.name est hérité de la configuration globale tandis que la valeur de user.email est écrasée par la configuration locale.

Nous avons présenté ici les différents avantages de Git, comment l’utiliser et comment le configurer.

Dans les prochains chapitres de cette série, nous présenterons le fonctionnement de Git et les commandes usuelles. Nous présenterons ensuite les différentes plateformes d’hébergement disponibles. Enfin, nous présenterons les workflows Git les plus utilisés.