Recherchez dans votre repository avec Git grep 1


Dans le dernier article sur grin, un lecteur signale l’existence de git-grep en commantaire.

En effet, Git vient avec la sous commande grep qui permet de:

  • chercher récursivement un mot dans tous les fichiers d’un repository git;
  • limiter cette recherche à tous les fichiers qui sont dans le repository;
  • utiliser des regex compatibles Perl.

L’avantage est que tout système avec Git installé vient avec git-grep, donc on est sûr de l’avoir sous la main.

Ca s’utilise comme ça:

git grep truc_a_chercher

Et si on veut un équivalent des fonctionalités de ack ou grin, on peut faire:

git grep --color -n -P truc_a_chercher

Ce qui va afficher les numéros de lignes, coloriser les matches et accepter les PCRE.

Si vous êtes plus git grep que grin, autant faire un petit alias dans votre .bashrc:

alias ggrep='git grep --color -n -P';

One thought on “Recherchez dans votre repository avec Git grep

  • Sébastien

    Fouyouou. Je suis cité dans un article de S&M ;-). Je vais avoir la grosse tête ^^

    Sinon, pour les couleurs, un petit :
    [color]
    ui = auto

    dans le fichier $HOME/.gitconfig permet d’avoir la coloration automatique avec git grep.
    Et pour ajouter plein d’options fun, on peut aussi utiliser les alias git (toujours dans .gitconfig)
    [alias]
    ack = grep -n -P

    Ensuite pouf pouf : git ack machin

Leave a comment

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.