-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitconfig
198 lines (151 loc) · 3.98 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
[user]
name = Pierre-Nicolas Watin-Augouard
email = [email protected]
signingkey = /Users/nico/.ssh/id_ed25519.pub
[github]
user = pnwatin
[init]
defaultBranch = main
[gpg]
format = ssh
[commit]
gpgsign = true
[submodule]
recurse = true
[core]
editor = nvim
pager = delta
excludesfile = ~/.gitignore
attributesfile = ~/.gitattributes
trustctime = false # http://www.git-tower.com/blog/make-git-rebase-safe-on-osx
untrackedCache = true # https://git-scm.com/docs/git-update-index#_untracked_cache
precomposeunicode = false # http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html
whitespace = -trailing-space # Don't consider trailing space change as a cause for merge conflicts
[help]
autocorrect = 1
[branch]
sort = -committerdate
[interactive]
diffFilter = delta --color-only
[merge]
conflictstyle = diff3
[diff]
colorMoved = default
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[push]
default = simple # https://git-scm.com/docs/git-config#git-config-pushdefault
followTags = true # Make `git push` push relevant annotated tags when pushing branches out.
autoSetupRemote = true
[pull]
rebase = false
[rebase]
autoStash = true
[merge]
log = true # Include summaries of merged commits in newly created merge commit messages
conflictstyle = diff3
summary = true
verbosity = 1
[mergetool]
keepBackup = false
keepTemporaries = false
writeToTemp = true # Put the temp files in a dedicated dir anyway
prompt = false # Auto-accept file prompts when launching merge tools
[apply]
whitespace = fix # Detect whitespace errors when applying a patch
[rerere]
enabled = true
autoUpdate = true
[grep]
break = true
heading = true
lineNumber = true
extendedRegexp = true # Consider most regexes to be ERE
[log]
abbrevCommit = true # Use abbrev SHAs whenever possible
follow = true # Automatically --follow when given a single path
decorate = false # Disable decorate for reflog
[fetch]
writeCommitGraph = true
recurseSubmodules = on-demand # Auto-fetch submodule changes
[interactive]
diffFilter = delta --color-only
[include]
path = /Users/nico/.config/git-delta/themes/catppuccin.gitconfig
[delta]
features = side-by-side line-numbers decorations catppuccin-mocha
whitespace-error-style = 22 reverse
[delta "decorations"]
commit-decoration-style = bold yellow box ul
file-style = bold yellow ul
file-decoration-style = none
[diff]
renames = copies # Detect copies as well as renames
mnemonicPrefix = true # Use better, descriptive initials (c, i, w) instead of a/b.
wordRegex = . # When using --word-diff, assume --word-diff-regex=.
submodule = log # Display submodule-related information (commit listings)
tool = vscode # Use VSCode as default diff tool when running `git diff-tool`
[diff "bin"]
textconv = hexdump -v -C # Use `hexdump` to diff binary files
[difftool]
prompt = false
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE
[web]
browser = google-chrome
[color]
ui = auto
[color "branch"]
current = yellow bold
local = green bold
remote = cyan bold
[color "diff"]
meta = yellow bold
frag = magenta bold # line info
old = red bold # deletions
new = green bold # additions
whitespace = red reverse
[color "status"]
added = green bold
changed = yellow bold
untracked = cyan bold
[gitflow "prefix"]
versiontag = v
[sequence]
editor = interactive-rebase-tool
[tag]
sort = version:refname # Sort tags as version numbers whenever applicable, so 1.10.2 is AFTER 1.2.0.
gpgsign = true
[versionsort]
prereleaseSuffix = -pre
prereleaseSuffix = .pre
prereleaseSuffix = -beta
prereleaseSuffix = .beta
prereleaseSuffix = -rc
prereleaseSuffix = .rc
[alias]
# gh extras
open = "!gh repo view --web --branch $(git rev-parse --abbrev-ref HEAD)"
# switch branches
o = switch
ob = switch -
on = checkout -b
om = switch main
od = switch dev
opr = "!f() { gh pr checkout $1; }; f"
# status
s = status
# add
a = add
aa = add --all
ai = add --interactive
# commit
c = commit
cm = commit --message
# push
ps = push
# pull
pl = pull