Alias Git les plus utiles

Quels alias utilisez-vous dans votre configuration Git ?

1 « J'aime »

Personnellement, j’utilise une configuration très simple pour les aliases Git :

[alias]
        co = checkout
        br = branch
        ci = commit
        st = status
        lol = log --pretty=oneline --abbrev-commit --graph --decorate
1 « J'aime »

Pour avoir un jolie Git log :)

lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit

Et aussi pour simplifier mes “git commit --amend”

amend = commit --amend -C HEAD
1 « J'aime »
pop = stash pop
undo = reset --soft HEAD^

pour git-svn:

svnpull = svn rebase
svnpush = svn dcommit
1 « J'aime »
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --
lof = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
st = status
ci = commit
new = !sh -c 'git log $1@{1}..$1@{0} "$@"'
graphviz = "!f() { echo 'digraph git {' ; git log --pretty='format:  %h -> { %p }' \"$@\" | sed 's/[0-9a-f][0-9a-f]*/\"&\"/g' ; echo '}'; }; f"
who = shortlog -s --
lg = log -p
df = diff
co = checkout
br = branch
1 « J'aime »

Si vous utilisez la ligne de commande passez à zsh:oh-my-zsh

Vraiment ça vous facilitera la vie :) Sinon sur mac, y a aussi l’auto-complétion pour Git qui sert bien (si vous n’utilisez pas zsh du coup)

+1 @rkueny
J’utilise aussi oh-my-zsh c’est bonheur

Je rajoute un perso qui fait la joie des stagiaires que je croise :

[alias]
  poule = pull --rebase
1 « J'aime »
  st = status
  cpk = cherry-pick
  ds = diff --staged

  # One liner
  lg = log --pretty=format:'%Cred%h%Creset %s %Cgreen(%cr) %Cblue<%an>%Creset'

  # One liner + patch
  lgp = log -p --pretty=format:'%Cred%h%Creset %s %Cgreen(%cr) %Cblue<%an>%Creset'

  # One liner + liste des fichiers modifiés
  lgs = log --name-only --pretty=format:'%Cred%h%Creset %s %Cgreen(%cr) %Cblue<%an>%Creset'

  # Même chose avec les "+++---" à coté des fichiers
  lgss = log --stat --pretty=format:'%Cred%h%Creset %s %Cgreen(%cr) %Cblue<%an>%Creset'

  # Même chose mais filtre pour ne voir que mes commits
  mylog = !git log --author=`git config --get user.email`
  mylg = !git lg --author=`git config --get user.email`
  mylgs = !git lgs --author=`git config --get user.email`
  mylgss = !git lgss --author=`git config --get user.email`
  mylgp = !git lgp --author=`git config --get user.email`
1 « J'aime »

Nous utilisons beaucoup les pull requests, parfois je cherche de quel PR provient un commit.
Je le fait via une recherche les message de merge:

[alias]
  pr = "! sh -c 'git log $1..master --ancestry-path --merges --oneline | tail -n1 ' -"

example d’utilisation:

> git pr a361e276756e6585258dda4014472ca6b3888a7c                                                                                
b965075 Merge pull request #255 from yammer/s2s_auth_p4

Dans ce cas, le commit provient du pull request 255.

1 « J'aime »
Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s