Git/Améliorer sa productivité en configurant Git

< Git

Dans ce chapitre, nous allons voir comment vous pouvez adapter git à vos propres besoins.

Apprendre à configurer git

modifier

Vous pouvez intervenir à trois niveaux :

Au niveau system
dans ce cas, la configuration s'appliquera à tous les utilisateurs de votre système.
Au niveau global
dans ce cas, la configuration sera appliquée à vous seul utilisateur et pour tous les dépôts. C'est l'option la plus courante.
Au niveau local
dans ce cas, la configuration sera appliquée uniquement à ce dépôt.

Vous avez deux possibilités :

Travailler avec la commande git config
Vous devrez donc utiliser respectivement --system, --global ou ne pas mettre d'argument (git appliquera la commande au dépôt).
Modifier le fichier de configuration de git (avec un éditeur de texte)
Vous devrez donc modifier respectivement les fichiers /etc/gitconfig, ~/.gitconfig ou le fichier .git/config qui se trouve dans le dépôt.

Dans les exemples qui suivent, nous travaillerons sur le niveau global car c'est ce que le développeur souhaite la plupart du temps.

Pour voir, à tout moment, votre configuration :

git config --list

Activer la coloration de la sortie par défaut

modifier

Par défaut, git doit colorer la sortie de vos commandes sur le terminal. Si ce n'est pas le cas, vous utilisez une version trop ancienne de git.

Vous pouvez toutefois configurer git pour forcer ce comportement par défaut.

git config --global color.ui true

Créer des alias pour vos commandes les plus courantes

modifier

La création d'alias peut se faire dans le fichier de configuration : vim ~/.gitconfig. Les alias sont alors utilisables comme les autres commandes de Git, comme premier argument de la commande git.

  • Exemple pour afficher les logs à un certain format :
[alias]
    lg = log --graph --all --decorate

Un alias peut aussi se créer en ligne de commande :

git config --global alias.graph "log --all --decorate --oneline --graph --pretty=format:"%h%x09%an%x09%ad%x09%s""
  • Retrouver la branche d'un commit en le plaçant en paramètre $1 (Pull Request). Ex : git pr 0eccb68[1] :
[alias]
    pr = "!f() { git log --merges --ancestry-path --oneline $1..master | grep 'pull request' | tail -n1 | awk '{ print $5 }'; }; f"
  • Ouvrir les fichiers modifiés sur une branche dans un IDE (par exemple pour reprendre le travail après un checkout) :
[alias]
    openfiles = !sh -c 'git show --pretty= --name-only | grep / | xargs /opt/PhpStorm-182.4129.45/bin/phpstorm.sh'

Références

modifier