-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitconfig
213 lines (213 loc) · 5.18 KB
/
.gitconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
[core]
excludesFile = ~/.gitignore
quotePath = off
[checkout]
defaultRemote = origin
workers = -1
[interactive]
diffFilter = delta --color-only
[user]
email = [email protected]
name = Caleb Maclennan
signingKey = B538286DE04ECFE5!
[github]
user = alerque
[pld]
user = [email protected]
[pager]
diff = delta
log = delta
reflog = delta
show = delta
[push]
default = current
autoSetupRemote = true
followTags = false
gpgSign = if-asked
recurseSubmodules = check
[color]
ui = true
[merge]
ff = false
[branch]
autoSetupRebase = always
rebase = merges
[pull]
rebase = merges
[apply]
;whitespace = fix
[rebase]
autoSquash = true
autoStash = true
merges = true
stat = true
[revise]
autoSquash = true
[commit]
gpgsign = true
[format]
signoff = true
[alias]
a = add
ab = absorb
abr = absorb --and-rebase
af = autofixup
ap = add --patch
au = add --update
b = branch
bx = branch --delete
bX = branch --delete --force
c = commit
ca = commit --amend --no-edit
ce = commit --amend
cm = commit --message
co = checkout
cb = checkout -b
cp = cherry-pick
d = diff
dc = diff --word-diff-regex=. --ignore-all-space
diff = diff --minimal --word-diff=color
ds = diff --staged
dsc = diff --word-diff-regex=. --ignore-all-space --staged
dsw = diff --ignore-all-space --staged
dw = diff --ignore-all-space
fa = fetch --all
fr = pull --rebase
g = log --all --graph --decorate --oneline
l = log
lf = ls-files
m = merge
mc = merge --continue
p = push
pc = !zsh -c 'git push --set-upstream origin "$(git-branch-current 2> /dev/null)"'
pf = push --force-with-lease
r = rebase
re = revise
rec = revise --cut
ree = revise --edit
rei = revise --interactive
ra = rebase --abort
rc = rebase --continue
ri = rebase --interactive
rin = rebase --interactive --no-autosquash
rs = rebase --skip
s = show
sc = show --ignore-all-space --word-diff-regex=.
show = show --word-diff=color
st = !datalad -C ${GIT_PREFIX:-.} next-status -r mono
sw = show --ignore-all-space
ws = status --ignore-submodules --short
; work = checkout @{upstream}
; aa = a -A
; commit = commit -vv
; dls = diff-tree --no-commit-id --name-status -r
; prs = pull --rebase --autostash
; lg = log --oneline --reverse
; p = push
; pf = p --force-with-lease
; r = rebase
; rc = rebase --continue
; ri = rebase --interactive
; show = show --minimal --word-diff=color
; st = status
; getroot = !pwd
; # http://stackoverflow.com/a/4991675/313192
; oldest-ancestor = !zsh -c 'diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent "${1:-master}") <(git rev-list --first-parent "${2:-HEAD}") | head -1' -
; branchlog = !sh -c 'git log $(git oldest-ancestor)..'
; branchdiff = !sh -c 'git diff $(git oldest-ancestor)..'
; ; rebase2fork = !zsh -c 'git rebase -i $(git merge-base --fork-point "${0:-master}")'
; ci-status = !sh -c 'oldest=$(git oldest-ancestor) head=$(git rev-parse HEAD) && git rev-list --oneline $([[ $oldest == $head ]] && echo $head^.. || echo $oldest..) | while read sha x\n do echo $sha $(hub ci-status -v $sha)\n done'
; conflicts = diff --name-only --diff-filter=U
; commit-scopes = !zsh -c 'git log --pretty=format:"%s" | rg --pcre2 "^\\\\p{Ll}\\+\\\\\\(\\(\\\\p{Ll}\\+\\)\\\\\\)!\\?:" -or "\\$1" | sort | uniq -c | sort -n'
[log]
abbrevCommit = true
decorate = true
follow = true
[status]
short = true
submoduleSummary = true
[rerere]
enabled = true
[diff]
indentHeuristic = true
ignoreSubmodules = dirty
colorMoved = zebra
colorMovedWS = ignore-all-space
[diff "fdiff"]
command = fdiff -c --git
[difftool]
prompt = false
[difftool "difftastic"]
cmd = difft "$LOCAL" "$REMOTE"
[difftool "latexdiff"]
cmd = latexdiff "$LOCAL" "$REMOTE"
[difftool "ufodiff"]
cmd = ufodiff "$LOCAL" "$REMOTE"
[fetch]
prune = true
parallel = 8
fsckobjects = true
[stash]
showPatch = true
[transfer]
fsckObjects = true
[receive]
fsckObjects = true
[filter "lfs"]
; clean = git-lfs clean -- %f
; smudge = git-lfs smudge -- %f
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
[filter "localssh"]
smudge = cat
clean = "sed -ne '/BEGIN host local/{p;n;q};p'"
required = false
[color "diff"]
meta = yellow
commit = yellow
frag = magenta
old = red
new = green
whitespace = red reverse
[color "diff-highlight"]
oldNormal = red
oldHighlight = "red 52"
newNormal = "green"
newHighlight = "green 22"
[color "branch"]
current = yellow reverse
local = yellow
remote = blue
[color "status"]
added = green
changed = yellow
untracked = cyan
[includeIf "gitdir:~/projects/**"]
path = ~/.private/gitlab.config
[advice]
detachedHead = false
[delta]
; features = line-numbers decorations
features = side-by-side line-numbers decorations line-wrap
hunk-header-style = file line-number syntax
whitespace-error-style = 22 reverse
wrap-max-lines = unlimited
syntax-theme = Monokai Extended
max-line-length = 0
[delta "decorations"]
commit-decoration-style = bold yellow box ul
file-style = bold yellow ul
file-decoration-style = none
[init]
defaultBranch = master
[gc]
rerereUnresolved = 30d
rerereResolved = 365d
[blame]
; ignoreRevsFile = .git-blame-ignore-revs
markIgnoredLines = true
markUnblamableLines = true
[http]
postBuffer = 157286400