]> git.netwichtig.de Git - user/henk/vcsh/git.git/blob - .config/git/config
Add default format
[user/henk/vcsh/git.git] / .config / git / config
1 [user]
2   name = Hendrik Jäger
3   email = gitcommit@henk.geekmail.org
4
5 [branch]
6   # always make new branches rebase on their tracking branch
7   autosetuprebase = always
8 [diff]
9   # use (i)ndex, (w)orktree, (c)ommit, etc instead of a/ and b/
10   mnemonicprefix = true
11   # detect renames and copies
12   renames = copies
13   # use different color for moved code (default == zebra, currently)
14   colorMoved = default
15 [fetch]
16   # delete tracking references and info about remote branches
17   # does not delete any branches
18   prune = true
19 [format]
20   # show a lot of info by default
21   pretty=fuller
22 [grep]
23   # show linenumber (-n)
24   lineNumber = true
25 [merge]
26   # only do fastforward merges
27   ff = only
28 [push]
29   # push to branch with same name on remote
30   default = current
31 [pull]
32   # rebase, don’t merge, local changes
33   rebase = true
34   # only accept fastforwards by default
35   ff = only
36 [rebase]
37   # when in a dirty worktree, automatically create a stash before and apply after rebasing
38   autoStash = true
39   # automatically squash marked commits (squash! …, fixup! …)
40   autosquash = true
41 [rerere]
42   # don’t use rerere to resolve merge conflicts
43   enabled = false
44
45 [alias]
46   a  = add
47   ap = add --patch
48   ai = add --interactive
49
50   b      = branch
51   br     = branch
52   bra    = branch --all
53
54   co  = checkout
55   cob = checkout -b
56
57   cp  = cherry-pick
58   cpa = cherry-pick --abort
59   cpc = cherry-pick --continue
60
61   ci    = commit
62   cm    = commit -m
63   cma   = commit --all -m
64   cmv   = commit --all --verbose
65   ca    = commit --amend
66   amend = commit --amend
67   caa   = commit --all --amend --reuse-message=HEAD
68   fix   = commit --all --fixup
69
70   diff  = diff --word-diff
71   d     = diff --word-diff
72   dc    = diff --cached
73   dlc   = diff --cached HEAD^
74   dr    = "!f() { git diff -w "$1"^.."$1"; }; f"
75   diffr = "!f() { git diff "$1"^.."$1"; }; f"
76
77   gr   = grep -Ii
78   grep = grep -Ii
79
80   ls      = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date                    = relative
81   ll      = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
82   lnc     = log --pretty=format:"%h\\ %s\\ [%cn]"
83   fl      = log -u
84   filelog = log -u
85   lg      = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
86   lga     = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all
87   # tag logs
88   taglog = "log --tags --simplify-by-decoration --pretty='format:%ci %d'"
89
90   pl  = pull
91   pla = pull --all
92
93   ps     = push
94   please = push --force-with-lease
95
96   rem = remote
97
98   rb  = rebase
99   rba = rebase --abort
100   rbc = rebase --continue
101
102   r   = reset
103   r1  = reset HEAD^
104   r2  = reset HEAD^^
105   rh  = reset --hard
106   rh1 = reset --hard HEAD^
107   rh2 = reset --hard HEAD^^
108
109   sl = stash list
110   sa = stash apply
111   ss = stash save
112
113   s  = status --short
114   st = status --short
115
116   # grep on filename
117   f = "!git ls-files | grep -i"
118   lc  = "!f() { git ll "$1"^.."$1"; }; f"
119   svnr = svn rebase
120   svnd = svn dcommit
121   svnl = svn log --oneline --show-commit
122   assume = update-index --assume-unchanged
123   unassume = update-index --no-assume-unchanged
124   # show assumed files
125   assumed = "!git ls-files -v | grep ^h | cut -c 3-"
126   # unassume all the assumed files
127   unassumeall = "!git assumed | xargs git update-index --no-assume-unchanged"
128   assumeall = "!git status -s | awk {'print $2'} | xargs git assume"
129   #   add
130   sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f"
131   #   update/pull
132   sbu = "!f() { git subtree pull --prefix $2 $1 master --squash; }; f"
133   # last tag created
134   lasttag = "describe --tags --abbrev=0"
135   lt = "describe --tags --abbrev=0"
136
137   # conflict/merges
138   ours = "!f() { git co --ours $@ && git add $@; }; f"
139   theirs = "!f() { git co --theirs $@ && git add $@; }; f"
140
141   #list remotes
142   rem="!git config -l | grep remote.*url | tail -n +2"
143
144   #apply patch from other local repo
145   lap = "!f() { git --git-dir=$1 format-patch -k -1 --stdout $2 | git am -3 -k; }; f"
146
147   #open markdown files edited in last commit
148   last = "!gvim $(git show HEAD --format="" --name-only | grep -e .*md$ | xargs)"
149   #open just created markdown in working directory
150   newmd = "!gvim $(git status -s | awk {'print $2'})"
151
152   # initial empty commit
153   empty = "!git commit -am\"[empty] Initial commit\" --allow-empty"
154
155   # list all aliases
156   la = "!git config -l | grep alias | cut -c 7-"
157   # grep from root folder
158   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"
159   #rename branch tree to done-
160   done = "!f() { git branch | grep "$1" | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f"
161   #add bitbucket remote
162   ra = "!f() { git remote add $1 https://bitbucket.org/$2.git; }; f"
163   wl = worktree list
164   # undo from here http://megakemp.com/2016/08/25/git-undo/
165   undo = "!f() { git reset --hard $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f"
166   serve = !git daemon --reuseaddr --verbose  --base-path=. --export-all ./.git