]> git.netwichtig.de Git - user/henk/vcsh/git.git/blobdiff - .config/git/config
expand short options
[user/henk/vcsh/git.git] / .config / git / config
index 405515865a5fb3e5638e03f5b1b75a27b035c068..12a9803726e554c2ec20a63e67caf32f16857f83 100644 (file)
 [user]
   name = Hendrik Jäger
-  email = henk@hnjs.ch
+  email = gitcommit@henk.geekmail.org
 
-# push/pull/diff/options
-[push]
-  default = current
-[pull]
-  default = current
-  ff = only
-[diff]
-  mnemonicprefix = true
 [branch]
+  # always make new branches rebase on their tracking branch
   autosetuprebase = always
-[apply]
-  whitespace = nowarn
+[diff]
+  # use (i)ndex, (w)orktree, (c)ommit, etc instead of a/ and b/
+  mnemonicprefix = true
+  # detect renames and copies
+  renames = copies
+  # use different color for moved code (default == zebra, currently)
+  colorMoved = default
+[fetch]
+  # delete tracking references and info about remote branches
+  # does not delete any branches
+  prune = true
+[grep]
+  # show linenumber (-n)
+  lineNumber = true
 [merge]
+  # only do fastforward merges
+  ff = only
+[push]
+  # push to branch with same name on remote
+  default = current
+[pull]
+  # rebase, don’t merge, local changes
+  rebase = true
+  # only accept fastforwards by default
   ff = only
-
-[rerere]
-  enabled = false
 [rebase]
+  # when in a dirty worktree, automatically create a stash before and apply after rebasing
+  autoStash = true
+  # automatically squash marked commits (squash! …, fixup! …)
   autosquash = true
+[rerere]
+  # don’t use rerere to resolve merge conflicts
+  enabled = false
 
-# alias {{{
 [alias]
-# basic {{{
-  pl = pull
-  ps = push
-  st = status -s
-  cl = clone
-  ci = commit
-  co = checkout
+  a  = add
+  ap = add --patch
+  ai = add --interactive
+
+  b      = branch
+  br     = branch
+  bra    = branch --all
+
+  co  = checkout
   cob = checkout -b
-  br = branch
-  r = reset
-  cp = cherry-pick
-  gr = grep -Ii
-  please = push --force-with-lease
-# }}}
-# tweak defaults {{{
-  diff = diff --word-diff
-  branch = branch -ra
+
+  cp  = cherry-pick
+  cpa = cherry-pick --abort
+  cpc = cherry-pick --continue
+
+  ci    = commit
+  cm    = commit -m
+  cma   = commit --all -m
+  cmv   = commit --all --verbose
+  ca    = commit --amend
+  amend = commit --amend
+  caa   = commit --all --amend --reuse-message=HEAD
+  fix   = commit --all --fixup
+
+  diff  = diff --word-diff
+  d     = diff --word-diff
+  dc    = diff --cached
+  dlc   = diff --cached HEAD^
+  dr    = "!f() { git diff -w "$1"^.."$1"; }; f"
+  diffr = "!f() { git diff "$1"^.."$1"; }; f"
+
+  gr   = grep -Ii
   grep = grep -Ii
-  bra = branch -ra
-  ai = add --interactive
+
+  ls      = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date                    = relative
+  ll      = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
+  lnc     = log --pretty=format:"%h\\ %s\\ [%cn]"
+  fl      = log -u
+  filelog = log -u
+  lg      = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
+  lga     = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all
+  # tag logs
+  taglog = "log --tags --simplify-by-decoration --pretty='format:%ci %d'"
+
+  pl  = pull
+  pla = pull --all
+
+  ps     = push
+  please = push --force-with-lease
+
+  rem = remote
+
+  rb  = rebase
+  rba = rebase --abort
+  rbc = rebase --continue
+
+  r   = reset
+  r1  = reset HEAD^
+  r2  = reset HEAD^^
+  rh  = reset --hard
+  rh1 = reset --hard HEAD^
+  rh2 = reset --hard HEAD^^
+
+  sl = stash list
+  sa = stash apply
+  ss = stash save
+
+  s  = status --short
+  st = status --short
+
   # grep on filename
   f = "!git ls-files | grep -i"
-# }}}
-# commit {{{
-  cm = commit -m
-  cma = commit -a -m
-  cmv = commit -a -v
-  ca = commit --amend
-  amend = commit --amend
-  caa = commit -a --amend -C HEAD
-  fix = commit --fixup
-# }}}
-# log commands {{{
-  ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
-  ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
   lc  = "!f() { git ll "$1"^.."$1"; }; f"
-  lnc = log --pretty=format:"%h\\ %s\\ [%cn]"
-  fl = log -u
-  filelog = log -u
-  lg  = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
-  lga = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all
-# }}}
-# diff {{{
-  d = diff --word-diff
-  dc = diff --cached
-  # diff last commit
-  dlc = diff --cached HEAD^
-  dr  = "!f() { git diff -w "$1"^.."$1"; }; f"
-  diffr  = "!f() { git diff "$1"^.."$1"; }; f"
-# }}}
-# reset commands {{{
-  r1 = reset HEAD^
-  r2 = reset HEAD^^
-  rh = reset --hard
-  rh1 = reset HEAD^ --hard
-  rh2 = reset HEAD^^ --hard
-# }}}
-# git svn {{{
   svnr = svn rebase
   svnd = svn dcommit
   svnl = svn log --oneline --show-commit
-# }}}
-# stash {{{
-  sl = stash list
-  sa = stash apply
-  ss = stash save
-# }}}
-# assume aliases {{{
   assume = update-index --assume-unchanged
   unassume = update-index --no-assume-unchanged
   # show assumed files
   # unassume all the assumed files
   unassumeall = "!git assumed | xargs git update-index --no-assume-unchanged"
   assumeall = "!git status -s | awk {'print $2'} | xargs git assume"
-# }}}
-# subtree {{{
   #   add
   sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f"
   #   update/pull
   sbu = "!f() { git subtree pull --prefix $2 $1 master --squash; }; f"
-# }}}
-# various useful {{{
   # last tag created
   lasttag = "describe --tags --abbrev=0"
   lt = "describe --tags --abbrev=0"
 
-  # tag logs
-  taglog = "log --tags --simplify-by-decoration --pretty='format:%ci %d'"
-
   # conflict/merges
   ours = "!f() { git co --ours $@ && git add $@; }; f"
   theirs = "!f() { git co --theirs $@ && git add $@; }; f"
 
   # list all aliases
   la = "!git config -l | grep alias | cut -c 7-"
-# }}}
-# convoluted aliases {{{
   # grep from root folder
   gra = "!f() { A=$(pwd) && TOPLEVEL=$(git rev-parse --show-toplevel) && cd $TOPLEVEL && git grep --full-name -In $1 | xargs -I{} echo $TOPLEVEL/{} && cd $A; }; f"
   #rename branch tree to done-
   done = "!f() { git branch | grep "$1" | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f"
   #add bitbucket remote
   ra = "!f() { git remote add $1 https://bitbucket.org/$2.git; }; f"
-# }}}
-# worktree list {{{
   wl = worktree list
   # undo from here http://megakemp.com/2016/08/25/git-undo/
   undo = "!f() { git reset --hard $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f"
-# }}}
-
-serve = !git daemon --reuseaddr --verbose  --base-path=. --export-all ./.git
+  serve = !git daemon --reuseaddr --verbose  --base-path=. --export-all ./.git