[user] name = Leah Neukirchen email = leah@vuxu.org signingkey = E6F6848A1B95EE313CF5B7EE95FF633C90A8F025 [github] user = leahneukirchen [url "git@github.com:"] pushInsteadOf = "https://github.com/" [core] excludesfile = ~/.gitignore pager = less -+$LESS -FRX attributesfile = /home/leah/.gitattributes [gpg] program = gpg2 [init] templatedir = /var/empty [color] ui = false interactive = auto [color "interactive"] prompt = bold normal help = black [diff] renames = copies [diff "clojure"] xfuncname = (^\\(.*|\\s*\\(def.*) [merge] log = true [log] decorate = auto [alias] alias = "!git config -l | sed -n 's/^alias\\.//p'" which = "!_() { git config --global --get alias.$1;};_" # commonly used git = !git tig = !tig head = rev-parse @ ix = diff --cached leg = log --date=short --pretty='%cd %h%d %aE: %s' lg = log --date=short --pretty='%cd %h%d %s' ls = ls-files madd = "!git diff --name-only --diff-filter=U -z | xargs -0r grep -LZ '<<<<<<<' | xargs -0r git add -v" medit = "!git diff --name-only --diff-filter=U -z | xargs -0r grep -lZ '<<<<<<<' | xargs -0ro vim '+/<<<<<<<'" mlist = "!git diff --name-only --diff-filter=U" news = log -p @{1}.. puff = pull --ff-only push-branch = push -u origin HEAD rank = shortlog -sn --no-merges sl = stash list --name-status --pretty='format:%gd [%ar]: %s' st = status -s -uno stu = status -s -unormal sub = submodule update --init --recursive this = "!git rev-parse --show-prefix 2>/dev/null || { git init && git add . && git commit -m \"Initial import of ${PWD##*/}\";}" # experimental d = diff -c HEAD dd = diff -c HEAD --name-status tree = log --oneline --decorate --graph lop = log -p pura = pull --rebase --autostash up = pull --rebase --autostash sprunge = "!_(){ git format-patch --stdout \"$@\" |curl -sF 'sprunge=<-' http://sprunge.us ;}; _" prev = checkout HEAD^ ignored = ls-files --others -i --exclude-standard autosquash = "!git rebase -i --autostash --autosquash $(git merge-base HEAD ${@:-'@{u}'})" scissor = "!_(){ git format-patch --stdout \"${@:-@^}\" | awk 'BEGIN{print \"-- >8 --\"} !/^From/ && !/^Date/' ;}; _" refresh = "!git diff -z --relative --name-only @^ | GIT_COMMITTER_DATE=$(git show -s --format=%cI @) xargs -0r git commit --amend --no-edit" renames = "!_() { git log --name-status --format= --diff-filter=R --reverse \"$@\" | awk -F\"\\t\" 'BEGIN{PROCINFO[\"sorted_in\"]=\"@val_str_asc\"}/^R/{m[$3]=m[$2]?m[$2]:$2;delete m[$2]}END{for(f in m)if(m[f]!=f)print m[f]\" => \"f}'; }; _" churn = !git log --all -M -C --name-only --format='format:' "$@" | grep . | sort | uniq -c | sort whoami = !git var GIT_COMMITTER_IDENT | sed 's/>.*/>/' amu = "!_() { url=$1; shift; curl -sL \"$url\" | gunzip -f | git am "$@"; }; _" fx = commit --amend --no-edit fcommit = "!_() { f=$1; shift; git commit -m \"${f#.}: $*\" -- "$f"; }; _" change-commits = "!f() { VAR=$1; OLD=$2; NEW=$3; shift 3; git filter-branch --env-filter \"if [ \\\"$`echo $VAR`\\\" = '$OLD' ]; then export $VAR='$NEW'; fi\" $@; }; f " source = remote get-url origin lazytag = "!_() { t=$1; shift; git tag -a "$t" -m "$t" "$@"; }; _" lb = "!_() { git branch -v --sort=committerdate | tail -n 10; }; _" bisect-fix = bisect start --term-old=broken --term-new=fixed @ [merge "wiggle"] name = "Wiggle flexible merging" driver = wiggle -o %A %A %O %B recursive = binary [mergetool "wiggle"] cmd = wiggle -B -o $MERGED $LOCAL $BASE $REMOTE [difftool "wiggle"] cmd = wiggle -Bd $LOCAL $REMOTE [sendemail] suppresscc = self confirm = always annotate = true [push] followTags = true [pull] ff = only [am] messageid = yes [advice] addIgnoredFile = false [submodule] recurse = true [tar "tar.gz"] command = gzip -cn [includeIf "gitdir:~/work/"] path = ~/work/.gitconfig