smudge = git-lfs smudge %f
required = true
[alias]
+# shortcuts
+ co = checkout
+ ci = commit
+ st = status
+ ls = ls-files
+ cl = clone --recurse-submodules -j8
+ dt = difftool
+ mt = mergetool
+
+ sb = status -sb
a = add
una = reset HEAD --
uha = checkout HEAD --
uhaa = reset --hard HEAD
br = branch
brdm = "!git branch --merged | grep -v '\\*' | xargs -n 1 git branch -d"
- co = checkout
go = "!f() { git checkout -b \"$1\" 2> /dev/null || git checkout \"$1\"; }; f"
- ci = commit
amend = commit --amend
unci = reset --soft HEAD~
diff = diff --word-diff
- dt = difftool
- mt = mergetool
# dont pull without rebase, and dont push without pull (fetch & merge)
p = pull --rebase
pp = "!git pull --rebase && git push"
cp = cherry-pick
wc = whatchanged -p
ch = cherry -v
- s = status -sb
fs = "!git fetch && git status"
rb = rebase
ec = config --global -e
lg = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
lol = log --oneline --decorate --graph --all --first-parent
last = log -1 HEAD
- ls = ls-files
lt = tag -l
type = cat-file -t
dump = cat-file -p
who = shortlog -s --
remotes = remote -v
root = rev-parse --show-toplevel
- cl = clone --recursive
# Show the diff between the latest commit and the current state
d = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat"