525 votes

Comment liste/Voir la Git alias ?

Comment imprimer une liste de mes alias git, c'est-à-dire quelque chose d’analogue à la bash `` commande ?

552voto

William Pursell Points 56211
<pre> $ git config--alias get-regexp </pre>

190voto

A-B-B Points 797

Cette réponse s'appuie sur la réponse par johnny. Cela s'applique si vous n'êtes pas à l'aide de git-alias de git-extras.

Sur Linux, exécutez la fois:

git config --global alias.alias "! git config --get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ /"

Cela va créer un permanent git alias nommé alias qui est stocké dans votre ~/.gitconfig le fichier. Utilisation de la liste de tous vos alias git, dans presque le même format qu'ils sont dans l' ~/.gitconfig le fichier. Pour l'utiliser, tapez:

$ git alias
lba = log --graph --decorate --name-status --all
alias = ! git config --get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ /

Les options suivantes considérations s'appliquent:

  • Pour éviter l'alias alias d'obtenir la liste ci-dessus, ajouter | grep -v ^'alias ' juste avant la fermeture de guillemets doubles. Je ne le recommande pas pour les utilisateurs de Linux afin qu'ils n'oublient pas que la commande alias n'est qu'un alias et n'est pas une fonctionnalité de git.

  • Pour trier la liste des alias, append | sort juste avant la fermeture de guillemets doubles. Alternativement, vous pouvez garder les alias en ~/.gitconfig triés.

  • Pour ajouter l'alias comme un système à l'échelle de l'alias, remplacez - --global (pour l'utilisateur courant) avec --system (pour tous les utilisateurs).

158voto

johnny Points 1055

J’ai créé un alias de git appelé (curieusement) `` exactement cet effet... pratique de temps en temps si vous utilisez aliasing assez...

``

Noter que l’expression régulière s’assure que la ligne commence par `` .

93voto

Rimian Points 7805

Une autre alternative (purement ce que je trouve facile à retenir) :

``

29voto

sjas Points 3175

La suite fonctionne sous Linux, MacOSX et Windows (avec msysgit).

Utiliser git la pour afficher les alias .gitconfig

N'ai-je entendu "bash scripting"? ;)

À propos de la "pas besoin" dans un commentaire ci-dessus, en gros, j'ai créé une page de man comme aperçu de mon alias. Pourquoi tout ce bruit? N'est-ce pas complète overkill?

Lire la suite...

J'ai mis les commandes comme ceci dans mon .gitconfig, séparés comme TAB=TAB:

[alias]
        alias1            =            foo -x -y --z-option
        alias2            =            bar -y --z-option --set-something

et simplement défini un alias de la commande grep la TAB= partie de l'alias définis. (Toutes les autres options n'ont pas les onglets avant et après le " = " dans leur définition, juste des espaces.)

Commentaires n'est pas ajouté à un alias ont également un ONGLET===== ajoutés, de sorte qu'ils sont présentés après grepping.

Pour mieux le voir je suis tuyauterie, le grep de sortie en moins, comme ceci:

version de base: (noir/blanc)

  #.gitconfig
  [alias]
        # use 'git h <command>' for help, use 'git la' to list aliases  =====
        h     =     help #... <git-command-in-question>
        la    =     "!grep '\t=' ~/.gitconfig | less" 

Le '\t=' partie correspond à l'ONGLET=.

Pour avoir une meilleure vue d'ensemble de ce que l'alias que j'ai, et depuis que j'utilise la fête de la console, j'ai coloré de la sortie avec le terminal de couleurs:

  • tous les '=' sont imprimés en rouge
  • tous les '#' sont imprimés en vert

version avancée: (en couleur)

       la      =       "!grep '\t=' ~/.gitconfig | sed -e 's/=/^[[0;31m=^[[0m/g' | sed -e 's/#.*/^[[0;32m&^[[0m/g' | less -R"

Fondamentalement le même que ci-dessus, juste sed utilisation est ajouté pour obtenir les codes de la couleur dans la sortie.

L' -R drapeau de moins est nécessaire pour obtenir les couleurs en moins.

(J'ai récemment découvert que de longues commandes avec une barre de défilement sous leur fenêtre ne sont pas affichés correctement sur les appareils mobiles: Ils texte est coupé et la barre de défilement est tout simplement absent. Cela pourrait être le cas avec le dernier extrait de code ici, gardez cela à l'esprit lorsque l'on regarde des extraits de code ici, tandis que sur l'aller.)


Pourquoi obtenir une telle magie fonctionne?

J'ai comme un demi-mile de l'alias, adapté à mes besoins.
Aussi certains d'entre eux changent au fil du temps, alors, après tout la meilleure idée d'avoir une liste à jour à la main est l'analyse de la .gitconfig.

Un *court* extrait de mon .gitconfig alias:

    #  choose       =====
    a       =       add #...
    aa      =       add .
    ai      =       add -i
    #  unchoose     =====
    rm      =       rm -r #... unversion and delete
    rmc     =       rm -r --cached #... unversion, but leave in working copy
    #  do   =====
    c       =       commit -m #...
    fc      =       commit -am "fastcommit"
    ca      =       commit -am #...
    mc      =       commit # think 'message-commit'
    mca     =       commit -a
    cam     =       commit --amend -C HEAD # update last commit
    #  undo =====
    r       =       reset --hard HEAD
    rv      =       revert HEAD

Dans mon linux ou mac postes de travail aussi plus alias existe pas dans la .bashrc, un peu comme:

#.bashrc
alias g="git"
alias gh="git h"
alias gla="git la"
function gc { git c "$*" } # this is handy, just type 'gc this is my commitmessage' at prompt

De cette façon, sans avoir à taper git help submodule, pas besoin d' git h submodule, juste gh submodule est tout ce qui est nécessaire pour obtenir de l'aide. C'est juste que certains personnages, mais combien de fois avez-vous taper?

J'utilise tous les suivants, bien sûr, qu'avec les raccourcis clavier...

  • ajouter
  • s'engager
  • commit --amend
  • reset --hard HEAD
  • pousser
  • fetch
  • rebase
  • la caisse
  • branche
  • show-branche (dans beaucoup de variations)
  • shortlog
  • reflog
  • diff (en variations)
  • journal (dans beaucoup de variations)
  • statut
  • montrer
  • notes
  • ...

Ce fut seulement à partir du haut de ma tête.

J'ai souvent à l'utilisation de git sans interface graphique, car beaucoup de commandes git ne sont pas correctement mis en place dans les interfaces graphiques. Mais chaque fois que je les ai mis à utiliser, il est la plupart du temps, de la même manière.

Sur la mise en œuvre " de la partie mentionnée dans le dernier paragraphe:
Je n'ai pas encore trouvé quelque chose qui se compare à cet dans une interface graphique:
sba = show-branch --color=always -a --more=10 --no-name - afficher tous les locaux et les bureaux distants, ainsi que les changements qu'ils ont en eux
ccm = "!git reset --soft HEAD~ && git commit" - modifier le dernier message de commit

À partir d'un point de vue qui est plus simple:
Combien de fois avez-vous tapez git add . ou git commit -am "..."? Sans compter le reste...
Faire les choses à travailler comme git aa ou git ca "..." dans windows,
ou avec bash alias gaa/g aa ou gca "..."/g ca "..." sous linux et sur mac...

Pour mes besoins, il semblait une chose intelligente à faire, pour personnaliser les commandes git comme ça...
... et pour une utilisation plus facile j'ai juste aidé moi-même à moindre commandes, alors je n'ai pas à consulter les pages de manuel à chaque fois. Les commandes sont prédéfinies et en les regardant c'est aussi facile que possible.

Je veux dire, nous sommes des programmeurs, après tout? Faire les choses à travailler comme nous avons besoin d'eux est notre travail.

Voici une capture d'écran supplémentaires, cela fonctionne dans Windows:

script working with cmd.exe

BONUS: Si vous êtes sous linux ou mac, colorisé homme de pages qui peuvent vous aider un peu:

colorized des pages de man

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X