X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.config%2Fgit%2Fconfig;h=53e10fbb048f0060b22f178a8d9d1d6ebe1fe65f;hb=e53b639c3013fd200e76ae39296d8a4e566d1b19;hp=b02a77b9b3d60bec2e181fd2e3e1a6d6a15dc9a0;hpb=af4bbb75618f2aa5d18c37f416b17127721e4e5e;p=user%2Fhenk%2Fvcsh%2Fgit.git diff --git a/.config/git/config b/.config/git/config index b02a77b..53e10fb 100644 --- a/.config/git/config +++ b/.config/git/config @@ -5,6 +5,9 @@ [branch] # always make new branches rebase on their tracking branch autosetuprebase = always +[commit] + # show diff in commit message editor + verbose = true [diff] # use (i)ndex, (w)orktree, (c)ommit, etc instead of a/ and b/ mnemonicprefix = true @@ -12,6 +15,11 @@ renames = copies # use different color for moved code (default == zebra, currently) colorMoved = default + # use vimdiff as difftool + tool = vimdiff +[difftool] + # do not prompt before invoking difftool + prompt = false [fetch] # delete tracking references and info about remote branches # does not delete any branches @@ -22,12 +30,24 @@ [grep] # show linenumber (-n) lineNumber = true +[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%- [push] # push to branch with same name on remote default = current + # also push reachable annotated tags + followTags = true [pull] # rebase, don’t merge, local changes rebase = true @@ -44,8 +64,10 @@ [alias] a = add - ap = add --patch + aa = add --all ai = add --interactive + ap = add --patch + au = add --update b = branch br = branch @@ -58,33 +80,40 @@ cpa = cherry-pick --abort cpc = cherry-pick --continue - ci = commit - cm = commit -m - cma = commit --all -m + c = commit + ca = commit --all + cm = commit --message + cma = commit --all --message cmv = commit --verbose cmav = 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^ + ds = diff --staged dr = "!f() { git diff -w "$1"^.."$1"; }; f" diffr = "!f() { git diff "$1"^.."$1"; }; f" + # grep on filename + f = "!git ls-files | grep -i" + + g = grep -Ii gr = grep -Ii grep = grep -Ii - 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 + 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 + 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 + 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'" @@ -94,11 +123,14 @@ ps = push please = push --force-with-lease - rem = remote + rem = remote + remp = remote prune + remu = remote update rb = rebase rba = rebase --abort rbc = rebase --continue + rbi = rebase --interactive r = reset r1 = reset HEAD^ @@ -117,54 +149,14 @@ sw = switch - # grep on filename - f = "!git ls-files | grep -i" - lc = "!f() { git ll "$1"^.."$1"; }; f" - svnr = svn rebase - svnd = svn dcommit - svnl = svn log --oneline --show-commit - assume = update-index --assume-unchanged - unassume = update-index --no-assume-unchanged - # show assumed files - assumed = "!git ls-files -v | grep ^h | cut -c 3-" - # 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" - # add + # add subtree sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f" - # update/pull + # update/pull subtree sbu = "!f() { git subtree pull --prefix $2 $1 master --squash; }; f" - # last tag created - lasttag = "describe --tags --abbrev=0" - lt = "describe --tags --abbrev=0" - - # conflict/merges - ours = "!f() { git co --ours $@ && git add $@; }; f" - theirs = "!f() { git co --theirs $@ && git add $@; }; f" - - #list remotes - rem="!git config -l | grep remote.*url | tail -n +2" - - #apply patch from other local repo - lap = "!f() { git --git-dir=$1 format-patch -k -1 --stdout $2 | git am -3 -k; }; f" - - #open markdown files edited in last commit - last = "!gvim $(git show HEAD --format="" --name-only | grep -e .*md$ | xargs)" - #open just created markdown in working directory - newmd = "!gvim $(git status -s | awk {'print $2'})" # initial empty commit empty = "!git commit -am\"[empty] Initial commit\" --allow-empty" - # list all aliases - la = "!git config -l | grep alias | cut -c 7-" - # 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" 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 = daemon --reuseaddr --verbose --base-path=. --export-all ./.git