Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
142 lines (135 sloc) 3.47 KB
# thanks:
# https://github.com/ornicar/dotfiles/blob/master/gitconfig
# https://github.com/paulirish/dotfiles/blob/master/.gitconfig
# https://github.com/garybernhardt/dotfiles/blob/master/.githelpers
# http://blog.apiaxle.com/post/handy-git-tips-to-stop-you-getting-fired/
# https://github.com/eevee/rc/blob/master/.gitconfig
[core]
excludesfile = ~/.gitignore
autocrlf = input
whitespace = space-before-tab,trailing-space
legacyheaders = false
quotepath = false
pager = $PAGER
trustctime = false
[repack]
usedeltabaseoffset = true
[apply]
whitespace = fix
[user]
name = Greg V
email = greg@unrelenting.technology
signingkey = 0x5F9F528D3B011BAF
[web]
browser = open
[diff]
algorithm = histogram
renames = copy
wordregex = [^[:space:]]
mnemonicprefix = true
compactionheuristic = true
submodule = log
tool = meld
[mergetool "splice"]
cmd = "vim -f $BASE $LOCAL $REMOTE $MERGED -c 'SpliceInit'"
trustexitcode = true
[merge]
summary = true
tool = meld
conflictstyle = diff3
[transfer]
fsckobjects = true
[fetch]
fsckobjects = true
[receive]
fsckobjects = true
[push]
default = tracking
[pull]
rebase = preserve
[branch]
autosetupmerge = always
[submodule]
fetchjobs = 4
[status]
submodulesummary = true
branch = true
[color]
ui = auto
interactive = auto
[alias] # object -> verb -> option
# common verbs: [c]reate, [l]ist, [r]eset/[r]emove
# [b]ranch
bc = checkout --no-track -b # don't automatically track the same remote branch
bce = checkout --orphan
bl = branch --verbose
br = branch -d
bR = branch -D
bs = checkout # [s]witch
# [c]ommit
ca = commit --amend
cc = commit
cl = log
cr = reset --soft HEAD^
cK = reset --hard HEAD^ # [K]ill
cs = show
# [d]iff
d = diff
dc = diff --cached
df = "!f() { [ \"$GIT_PREFIX\" != \"\" ] && cd "$GIT_PREFIX"; git diff --color $@ | diff-so-fancy | less --tabs=4 -RFX; }; f"
dfc = "!f() { [ \"$GIT_PREFIX\" != \"\" ] && cd "$GIT_PREFIX"; git diff --cached --color $@ | diff-so-fancy | less --tabs=4 -RFX; }; f"
dt = difftool -y --dir-diff
# [f]ile
fa = add
faa = !git add --all && git ws
ff = rm --cached # [f]orget
fm = mv # [m]ove
fr = rm
# stas[h]
hs = !git stash save "snapshot: $(date)" && git stash apply "stash@{0}" # [s]napshot
# [m]erge
mt = mergetool -y
mtg = mergetool -y -t meld
mo = "!f() { git checkout --ours $@ && git add $@; }; f" # [o]urs
mt = "!f() { git checkout --theirs $@ && git add $@; }; f" # [t]heirs
# [r]emote
r = remote
rc = remote add
rl = remote -v
rr = remote rm
rp = "!f() { git push $@ && git push --tags $@; }; f"
# [s]ubmodule
sc = submodule add
scm = submodule foreach --recursive git checkout master
sl = submodule --quiet foreach --recursive echo $path on $(git rev-parse --abbrev-ref HEAD)
sr = submodulerm
ss = !git submodule sync && git submodule update --init --recursive # [s]ync
su = submodule foreach --recursive git pull # [u]pdate
# [t]ag
tc = tag
tl = tag -n1 --list
tr = tag -d
# [w]orking copy
wr = reset --hard HEAD
wf = reset --mixed # [f]orget (make all changes unstaged)
ws = status --short --ignore-submodules=untracked
wss = status --ignore-submodules=untracked
[url "git@github.com:"]
pushInsteadOf = "git://github.com/"
[github]
user = myfreeweb
[ghq]
root = ~/src
[tig]
line-graphics = utf-8
truncation-delimiter = "❯"
tab-size = 4
mailmap = true
[tig "bind"]
generic = k move-down
generic = j move-up
main = k next
main = j previous
[tig "color"]
cursor = black green
title-focus = black magenta