]> git.netwichtig.de Git - user/henk/vcsh/git.git/blobdiff - .config/git/config
mainly for r10k
[user/henk/vcsh/git.git] / .config / git / config
index 53e10fbb048f0060b22f178a8d9d1d6ebe1fe65f..bf56d483cc75a251837948a05bc46ec3e5107007 100644 (file)
@@ -1,6 +1,7 @@
 [user]
   name = Hendrik Jäger
   email = gitcommit@henk.geekmail.org
+  signingKey = 0x1B7EADFDDF720123
 
 [branch]
   # always make new branches rebase on their tracking branch
@@ -8,6 +9,12 @@
 [commit]
   # show diff in commit message editor
   verbose = true
+[core]
+  # complain about tabs used for indenting
+  # commented because I switched to tabs
+  # and yaml can’t use tabs
+  # so either variant will  complain
+  # whitespace = tab-in-indent
 [diff]
   # use (i)ndex, (w)orktree, (c)ommit, etc instead of a/ and b/
   mnemonicprefix = true
   prune = true
 [format]
   # show a lot of info by default
-  pretty=fuller
+  pretty=compact
 [grep]
   # show linenumber (-n)
   lineNumber = true
+[init]
+  defaultBranch = main
 [log]
   # show short commit sha
   abbrevCommit = true
   # show short ref names but only in terminal
   decorate = auto
 [merge]
-  # only do fastforward merges
-  ff = only
   # use vimdiff as mergetool
   tool = vimdiff
 [pretty]
-  longline = %C(auto)%h %<(52,trunc)%s (%aN, %GS %G?, %cr) %d
-  longlines = %C(auto)%h %<(52,trunc)%s (%aN, %GS %G?, %cr) %d %n%-w(0,8,8)%+b%-
+  compact = %C(auto)%h%Cgreen% cs%Cblue%<(15,trunc)% an%C(auto)%d%Creset% s
 [push]
   # push to branch with same name on remote
   default = current
@@ -57,7 +63,7 @@
   # when in a dirty worktree, automatically create a stash before and apply after rebasing
   autoStash = true
   # automatically squash marked commits (squash! …, fixup! …)
-  autosquash = true
+  autoSquash = true
 [rerere]
   # don’t use rerere to resolve merge conflicts
   enabled = false
@@ -72,9 +78,9 @@
   b      = branch
   br     = branch
   bra    = branch --all
+  brav   = branch --all --verbose --verbose
 
   co  = checkout
-  cob = checkout -b
 
   cp  = cherry-pick
   cpa = cherry-pick --abort
   c     = commit
   ca    = commit --all
   cm    = commit --message
-  cma   = commit --all --message
-  cmv   = commit --verbose
-  cmav  = commit --all --verbose
+  cam   = commit --all --message
   fix   = commit --all --fixup
 
-  diff  = diff --word-diff
   d     = diff --word-diff
   dc    = diff --cached
   dlc   = diff --cached HEAD^
   # grep on filename
   f = "!git ls-files | grep -i"
 
-  g    = grep -Ii
-  gr   = grep -Ii
-  grep = grep -Ii
+  g    = grep -I
+  gr   = grep -I
+  gra  = "!sh -c 'git grep "$0" "$@" "$(git for-each-ref --format=\"%(refname)\"" refs/)'"
+  grep = grep -I
 
-  ls      = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
-  ll      = log --graph --topo-order --date=short --abbrev-commit --decorate --all --boundary --pretty=format:'%Cgreen%ad %Cred%h%Creset -%C(yellow)%d%Creset %s %Cblue[%cn]%Creset %Cblue%G?%Creset'
-  lll     = log --graph --topo-order --date=iso8601-strict --no-abbrev-commit --abbrev=40 --decorate --all --boundary --pretty=format:'%Cgreen%ad %Cred%h%Creset -%C(yellow)%d%Creset %s %Cblue[%cn <%ce>]%Creset %Cblue%G?%Creset'
-  lc      = "!f() { git ll "$1"^.."$1"; }; f"
-  lnc     = log --pretty=format:"%h\\ %s\\ [%cn]"
-  lo      = log --oneline
+  log     = log --graph
+  l       = log --graph
+  la      = log --graph --all
+  lap     = log --graph --all --patch
   lp      = log --patch
-  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
+  ls      = log --stat
   # tag logs
   taglog = "log --tags --simplify-by-decoration --pretty='format:%ci %d'"
 
   remp = remote prune
   remu = remote update
 
-  rb  = rebase
-  rba = rebase --abort
-  rbc = rebase --continue
-  rbi = rebase --interactive
+  frbp = "!f() { git fetch; git rebase "$1"; git push --force-with-lease; }; f"
+  rb   = rebase
+  rba  = rebase --abort
+  rbc  = rebase --continue
+  rbi  = rebase --interactive
+  rbm = "!f() { git switch "$1" && git rebase - && git switch - && git merge -; }; f"
 
   r   = reset
   r1  = reset HEAD^
 
   sl = stash list
   sa = stash apply
+  sp = stash pop
   ss = stash save
 
   st = status --short
 
   sw = switch
+  swc = switch --create
 
   # add subtree
   sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f"