791 votes

Comment aliaser les commandes dans git ?

J'ai vu un screencast où quelqu'un avait eu

git st
git ci

pour travailler. Quand je le fais, j'obtiens une erreur me demandant si je voulais dire autre chose.
Etant un novice en matière de git, j'ai besoin de savoir ce qu'il faut faire pour y arriver ?

3 votes

Vous pouvez également le voir ici git-scm.com/book/fr/v2/Git-Basics-Git-Aliases

0 votes

Voir aussi les questions sur l'utilisation plus avancée des alias git ici : stackoverflow.com/questions/46528736/

1243voto

Diego Dias Points 6879

En gros, il suffit d'ajouter des lignes à ~/.gitconfig

[alias]
    st = status
    ci = commit -v

Ou vous pouvez utiliser la commande git config alias :

$ git config --global alias.st status 

Sous unix, utilisez des guillemets simples si l'alias comporte un espace :

$ git config --global alias.ci 'commit -v'

Sous Windows, utilisez des guillemets doubles si l'alias comporte un espace ou un argument de ligne de commande :

c:\dev> git config --global alias.ci "commit -v"

La commande alias accepte même les fonctions comme paramètres. Jetez un coup d'œil à alias .

101 votes

Je vous recommande vivement d'utiliser git config --global pour placer les alias dans ~/.gitconfig au lieu de .git/config pour votre référentiel actuel.

30 votes

Je préfère les réglages st à status -s (statut court)

22 votes

C'est vraiment génial. Je le cherchais depuis longtemps. Juste un petit conseil, si vous avez une commande avec des espaces, vous devez utiliser ' comme git config --global alias.sr 'svn rebase'

218voto

Matthew Rankin Points 71628

Comme d'autres l'ont dit, la façon appropriée d'ajouter des alias git est dans votre fichier global de gestion des alias git. .gitconfig soit en modifiant le fichier ~/.gitconfig ou en utilisant le git config --global alias.<alias> <git-command> commande

Vous trouverez ci-dessous une copie de la section alias de mon site Web. ~/.gitconfig fichier :

[alias]
    st = status
    ci = commit
    co = checkout
    br = branch
    unstage = reset HEAD --
    last = log -1 HEAD

Aussi, si vous utilisez bash, je vous recommande de configurer la complétion de bash en copiant git-completion.bash dans votre répertoire d'origine et de le sourcer à partir de votre ~/.bashrc . (Je crois que j'ai appris cela dans le Pro Git livre en ligne). Sur Mac OS X, j'ai accompli cette tâche avec les commandes suivantes :

# Copy git-completion.bash to home directory
cp usr/local/git/contrib/completion/git-completion.bash ~/

# Add the following lines to ~/.bashrc
if [ -x /usr/local/git/bin/git ]; then
    source ~/.git-completion.bash
fi

Note : La complétion bash fonctionnera non seulement pour les commandes git standard mais aussi pour vos alias git.

Enfin, pour réduire le nombre de frappes au clavier, j'ai ajouté le texte suivant à mon fichier ~/.bash_aliases qui provient de ~/.bashrc :

alias gst='git status'
alias gl='git pull'
alias gp='git push'
alias gd='git diff | mate'
alias gau='git add --update'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'
alias gco='git checkout'
alias gcob='git checkout -b'
alias gcot='git checkout -t'
alias gcotb='git checkout --track -b'
alias glog='git log'
alias glogp='git log --pretty=format:"%h %s" --graph'

2 votes

Pour linux, j'ai fait ça pour obtenir le truc git-completion.bash : blogs.oracle.com/linuxnstuff/entry/

14 votes

Si vous utilisez zsh, l'excellente suite oh-my-zsh contient un plugin avec tous les alias "standard" de git. github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/ -- pour bash, jetez un coup d'oeil à github.com/revans/bash-it

0 votes

Question de néophyte : que signifie "être originaire de" ? ~/.bashrc fichier ?

80voto

wcc526 Points 153

Je pense que le plus utile de gitconfig est comme ceci, nous utilisons toujours la fonction 20% dans git, vous pouvez essayer le "g ll", il est étonnant, les détails :

[user]
    name = my name
    email = me@example.com
[core]  
    editor = vi 
[alias]
    aa = add --all
    bv = branch -vv
    ba = branch -ra
    bd = branch -d
    ca = commit --amend
    cb = checkout -b
    cm = commit -a --amend -C HEAD
    ci = commit -a -v
    co = checkout
    di = diff
    ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
    ld = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
    ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
    mm = merge --no-ff
    st = status --short --branch
    tg = tag -a 
    pu = push --tags
    un = reset --hard HEAD  
    uh = reset --hard HEAD^
   [color]  
    diff = auto  
    status = auto  
    branch = auto 
   [branch]  
    autosetuprebase = always

0 votes

Comment faire ? Qu'est-ce qu'il faut mettre pour que ça marche ?

3 votes

@ahnbizcad Placer dans ~/.gitconfig si vous utilisez git config --global sinon il va dans .git/config du dépôt actuel.

0 votes

Si cela peut aider, une .gitconfig et le tutoriel de référence pour l'accompagner !

22voto

Alan Haggai Alavi Points 34260

Vous avez besoin de la git config alias commande. Exécutez ce qui suit dans un dépôt Git :

git config alias.ci commit

Pour l'alias global :

git config --global alias.ci commit

8voto

Nick Moore Points 7897

Cela créera un alias st pour status :

git config --add alias.st status

0 votes

J'avais besoin du --add et d'utiliser des guillemets doubles, et non simples.

0 votes

Pourquoi git st alors que vous pouvez utiliser git s Débarrasse-toi de ça. s :P

0 votes

Pourquoi même avoir git s ? alias s="git status"

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