blob: db562a65eddc8598ec05040c9b5d908145cf047f (
plain) (
blame)
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
|
[user]
email = sommerfeld@sommerfeld.dev
name = sommerfeld
signingkey = 3298945F717C85F8
[push]
autoSetupRemote = true
followTags = true
gpgSign = if-asked
[core]
whitespace = trailing-space,cr-at-eol
pager = delta
hooksPath = ~/.config/git/hooks
[branch]
sort=-committerdate
[diff]
tool = nvimdiff
algorithm = histogram
colorMoved = default
colorMovedWS = allow-indentation-change
mnemonicPrefix = true
relative = true
renameLimit = 10000
[difftool]
prompt = false
trustExitCode = true
[pager]
difftool = true
[difftool "nvimdiff"]
cmd = $EDITOR -d $LOCAL $REMOTE
[difftool "difftastic"]
cmd = difft "$MERGED" "$LOCAL" "abcdef1" "100644" "$REMOTE" "abcdef2" "100644"
[rebase]
autoStash = true
autoSquash = true
updateRefs = true
[fetch]
recurseSubmodules = on-demand
prune = true
[rerere]
enabled = true
[pull]
ff = only
[merge]
tool = conflictmarker
conflictstyle = zdiff3
[merge "mergiraf"]
name = mergiraf
driver = mergiraf merge --git %O %A %B -s %S -x %X -y %Y -p %P
[mergetool]
keepBackup = false
[mergetool "conflictmarker"]
cmd = $EDITOR "$MERGED"
[commit]
gpgsign = true
[tag]
gpgSign = true
[status]
short = true
branch = true
showUntrackedFiles = all
showStash = true
submoduleSummary = true
[help]
autocorrect = prompt
[log]
abbrevCommit = true
date = short
[interactive]
singleKey = true
diffFilter = delta --color-only
[advice]
detachedHead = false
skippedCherryPicks = false
[column]
ui = auto
[format]
pretty = oneline
[delta]
navigate = true
features = gruvmax-fang zebra-dark
dark = true
side-by-side = true
line-numbers = true
relative-paths = true
hyperlinks = true
[absorb]
autoStageIfNothingStaged = true
[alias]
ghost-rebase = "!sh -c 'b=$0; u=${1:-origin/master}; wt=$(mktemp -d -t rebwt.XXXXXX); git worktree add -f "$wt" "$b"; git -C "$wt" rebase "$u" || echo "Rebase incomplete"; git worktree remove --force "$wt"'"
a = add
ab=absorb --and-rebase
b = branch -vv
bd = branch -D
c = commit
ca = commit --amend --no-edit
cp = cherry-pick
d = diff
dft = -c diff.external=difft diff
dl = -c diff.external=difft log -p --ext-diff
ds = -c diff.external=difft show --ext-diff
dt = difftool
f = fetch
fa = fetch --all
ff = merge --ff-only
find-merge = "!sh -c 'commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"
fmt = clang-format -f
fp = push --force-with-lease
gone = !git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '$2 == \"[gone]\" {print $1}' | xargs -r git branch -D
l = log
lg = log --graph --oneline
lm = log --pretty=medium
m = merge
mt = mergetool
p = push
r = rebase
re = remote -v
ri = rebase -i
rt = restore
s = status
st = status --no-short
staged = diff --cached
sub = submodule
subf = submodule foreach
sw = switch
swc = switch -c
swd = switch -d
unstage = reset HEAD --
update=!git fetch && git merge --ff-only
[includeIf "gitdir:/home/*/work/"]
path = config-work
[includeIf "gitdir:~/doxfiles/.git"]
path = config-personal
[includeIf "gitdir:~/dev/copilot/.git"]
path = config-personal
[includeIf "gitdir:~/dev/personal/"]
path = config-personal
[sendemail]
smtpServer = 127.0.0.1
smtpServerPort = 1025
smtpEncryption = tls
smtpDomain = localhost
smtpSslCertPath =
confirm = auto
suppresscc = self
chainReplyTo = false
thread = true
annotate = true
assume8bitEncoding = UTF-8
[credential "smtp://127.0.0.1:1025"]
helper = "!f() { test \"$1\" = get && printf 'password=%s\\n' \"$(pass show proton/bridge-smtp)\"; }; f"
|