Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
118 lines (106 sloc) 3.3 KB
[color]
ui = auto
[color "diff"]
meta = blue
frag = white
old = red bold
new = green bold
[core]
editor = code --wait
pager = git-pager
autocrlf = false
safecrlf = false
mergeoptions = --no-edit
excludesfile = ~/.gitignore
quotepath = false
# Enable parallel index preload for operations like git diff
preloadindex = true
[alias]
# Simple shortcuts
a = add
ua = reset HEAD
c = commit
ca = commit -a
cm = commit -m
cam = commit -am
cne = commit --no-edit
amend = commit --amend
co = checkout
s = status -sb
d = diff
cp = cherry-pick
# Sharable diff with disabled diff-so-fancy and +/- marks
patch = !git --no-pager diff --no-color
# Merge fresh master into the current branch
mmm = !git fetch origin master && git merge origin/master --no-edit
# Compact and readable log
l = log --graph --pretty=format:'%C(magenta)%h%C(blue)%d%Creset %s %C(blue bold)- %an, %ar%Creset'
# Log with list of changed files for each commit
ll = log --stat --abbrev-commit
# List of my own commits
my = !git log --branches=* --no-merges --pretty=format:'%C(reset)%C(bold)%cd %C(reset)%C(white)%s %C(reset)%h' --date=short --author=\"$(git config user.name)\"
# List of branches ordered by last change
branches = for-each-ref --sort=-committerdate refs/heads/ --format='%(color:bold)%(refname:short)%(color:reset)\t%(committerdate:relative)'
# List of files with merge conflicts
wtf = diff --name-only --diff-filter=U
# Rebase: add changes and continue
cont = !git add . && git rebase --continue
# Rebase: skip a rebase step
skip = rebase --skip
# Rebase: abort
abort = rebase --abort
# Cancel local commits in the branch: git fuck master
fuck = "!f() { git reset --hard origin/$1; }; f"
[push]
# When pushing code, always push only your current branch to a branch of the same name
default = current
[fetch]
# Automatically prune deleted branches from your local copy when you fetch (or pull)
prune = true
[log]
# Show branch names with git log
decorate = short
# Any GitHub repo with my username should be checked out read/write by default
# http://rentzsch.tumblr.com/post/564806957/public-but-hackable-git-submodules
[url "git@github.com:sapegin/"]
insteadOf = "git://github.com/sapegin/"
# Kaleidoscope
[difftool "Kaleidoscope"]
cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[diff]
tool = Kaleidoscope
[difftool]
prompt = false
[mergetool "Kaleidoscope"]
cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
trustExitCode = true
[mergetool]
prompt = false
[merge]
tool = Kaleidoscope
# https://github.com/so-fancy/diff-so-fancy
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
# Include local settings
# Requires Git 1.7.10
# git config -f ~/.gitlocal user.email "artem@sapegin.ru"
# git config -f ~/.gitlocal user.name "Artem Sapegin"
[include]
path = .gitlocal
# Some random bullshit that always appers at the end of the config file
[filter "media"]
required = true
clean = git media clean %f
smudge = git media smudge %f
[filter "hawser"]
clean = git hawser clean %f
smudge = git hawser smudge %f
required = true
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true