summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/git/config76
1 files changed, 34 insertions, 42 deletions
diff --git a/.config/git/config b/.config/git/config
index 73b6dfa..f39ca0a 100644
--- a/.config/git/config
+++ b/.config/git/config
@@ -1,28 +1,44 @@
[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
@@ -38,17 +54,15 @@
cp = cherry-pick
gr = grep -Ii
please = push --force-with-lease
-# }}}
-# tweak defaults {{{
diff = diff --word-diff
branch = branch -ra
grep = grep -Ii
bra = branch -ra
+ a = add
+ ap = add -p
ai = add --interactive
# grep on filename
f = "!git ls-files | grep -i"
-# }}}
-# commit {{{
cm = commit -m
cma = commit -a -m
cmv = commit -a -v
@@ -56,8 +70,6 @@
amend = commit --amend
caa = commit -a --amend -C HEAD
fix = commit -a --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"
@@ -66,33 +78,23 @@
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
@@ -100,14 +102,10 @@
# 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"
@@ -135,19 +133,13 @@
# 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