My personal .gitconfig file
[user]
name = Example Name
email = example@example.com
[push]
default = current
[color]
ui = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
[color "status"]
added = green
changed = yellow
untracked = red
[alias]
st = status
cm = commit
ok = commit -m
br = branch
co = checkout
df = diff
dc = diff --cached
ds = diff --staged
dn = diff --numstat
dns = diff --staged --numstat
lg = log -p
lol = log --graph --decorate --pretty=oneline --abbrev-commit
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
lolp = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
ls = ls-files
rhh = reset --hard HEAD
# Show files ignored by git:
ign = clean -dXn
# Oneline, but with author and date
log-date = log --pretty=format:'%C(yellow)%h %Cred%ad %Cblue%an%Cgreen%d %Creset%s' --date=short
tagcommit = rev-list -n 1
[help]
autocorrect = 1
[difftool "sourcetree"]
cmd = /Applications/DiffMerge.app/Contents/MacOS/DiffMerge --nosplash \"$LOCAL\" \"$REMOTE\"
path =
[mergetool "sourcetree"]
cmd = /Applications/DiffMerge.app/Contents/MacOS/DiffMerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
trustExitCode = true
[diff]
tool = Kaleidoscope
[difftool]
prompt = false
[mergetool]
prompt = false
[merge]
tool = Kaleidoscope
[core]
excludesfile = /Users/carles/.gitignore_global
editor = /usr/bin/vim
[filter "media"]
clean = git media clean %f
smudge = git media smudge %f
required = true
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[http]
sslVerify = false