Quels alias utilisez-vous dans votre configuration Git ?
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 »