]> 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 687981b693ab1f5501854eec7267342890c843d7..bf56d483cc75a251837948a05bc46ec3e5107007 100644 (file)
@@ -9,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
 [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]
@@ -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
@@ -86,7 +92,6 @@
   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
 
-  l       = log
+  log     = log --graph
+  l       = log --graph
   la      = log --graph --all
+  lap     = log --graph --all --patch
   lp      = log --patch
+  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"