Git/Améliorer sa productivité en configurant Git
Dans ce chapitre, nous allons voir comment vous pouvez adapter git à vos propres besoins.
Apprendre à configurer git
modifierVous 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
modifierPar 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
modifierLa 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'