-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path.gitconfig
executable file
·288 lines (251 loc) · 11.1 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
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
[color]
branch = auto
diff = auto
status = auto
interactive = auto
status = auto
ui = true
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
# color.decorate.<slot>
# Use customized color for git log --decorate output. <slot> is one of branch, remoteBranch, tag,
# stash or HEAD for local branches, remote-tracking branches, tags, stash and HEAD, respectively.
[color "decorate"]
HEAD = "44 bold"
remoteBranch = 98
tag = "203 bold"
# color.branch
# A boolean to enable/disable color in the output of git-branch(1). May be set to always, false (or
# never) or auto (or true), in which case colors are used only when the output is to a terminal.
# Defaults to false.
# color.interactive
# When set to always, always use colors for interactive prompts and displays (such as those used by
# "git-add --interactive"). When false (or never), never. When set to true or auto, use colors only
# when the output is to the terminal. Defaults to false.
# color.diff
# Whether to use ANSI escape sequences to add color to patches. If this is set to always, git-
# diff(1), git-log(1), and git-show(1) will use color for all patches. If it is set to true or
# auto, those commands will only use color when output is to the terminal. Defaults to false.
# This does not affect git-format-patch(1) nor the git-diff-* plumbing commands. Can be overridden
# on the command line with the --color[=<when>] option.
# color.pager
# A boolean to enable/disable colored output when the pager is in use (default is true).
# color.showbranch
# A boolean to enable/disable color in the output of git-show-branch(1). May be set to always,
# false (or never) or auto (or true), in which case colors are used only when the output is to a
# terminal. Defaults to false.
# color.status
# A boolean to enable/disable color in the output of git-status(1). May be set to always, false (or
# never) or auto (or true), in which case colors are used only when the output is to a terminal.
# Defaults to false.
# color.ui
# This variable determines the default value for variables such as color.diff and color.grep that
# control the use of color per command family. Its scope will expand as more commands learn
# configuration to set a default for the --color option. Set it to always if you want all output
# not intended for machine consumption to use color, to true or auto if you want such output to use
# color when written to the terminal, or to false or never if you prefer git commands not to use
# color unless enabled explicitly with some other configuration or the --color option.
# color.branch.<slot>
# Use customized color for branch coloration. <slot> is one of current (the current branch), local
# (a local branch), remote (a remote-tracking branch in refs/remotes/), plain (other refs).
# The value for these configuration variables is a list of colors (at most two) and attributes (at
# most one), separated by spaces. The colors accepted are:
# normal, black, red, green, yellow, blue, magenta, cyan and white;
# the attributes are:
# bold, dim, ul, blink and reverse.
#
# The first color given is the foreground; the second is the background.
# The position of the attribute, if any, doesn't matter.
# color.diff.<slot>
# Use customized color for diff colorization. <slot> specifies which part of the patch to use the
# specified color, and is one of plain (context text), meta (metainformation), frag (hunk header),
# func (function in hunk header), old (removed lines), new (added lines), commit (commit headers),
# or whitespace (highlighting whitespace errors). The values of these variables may be specified as
# in color.branch.<slot>.
[color "diff"]
meta = yellow
frag = magenta bold
commit = yellow bold
old = red bold
new = green bold
whitespace = red reverse
# color.interactive.<slot>
# Use customized color for git add --interactive output. <slot> may be prompt, header, help or
# error, for four distinct types of normal output from interactive commands. The values of these
# variables may be specified as in color.branch.<slot>.
# color.status.<slot>
# Use customized color for status colorization. <slot> is one of header (the header text of the
# status message), added or updated (files which are added but not committed), changed (files which
# are changed but not added in the index), untracked (files which are not tracked by git), branch
# (the current branch), or nobranch (the color the no branch warning is shown in, defaulting to
# red). The values of these variables may be specified as in color.branch.<slot>.
[color "status"]
[alias]
bll = bl --local
ane = commit --amend --no-edit
cp = cherry-pick
st = status
ci = commit
co = checkout
br = branch
rbi = rebase -i
rb = rebase
lint = "!sh -c 'git status | awk \"/modified/ {print \\$3}\" | xargs -L 1 php -l'"
logfull = log --pretty=fuller --graph --stat -p
cat = cat-file -p
unstage = reset HEAD
undomerge = reset --hard ORIG_HEAD
oups = commit -a --amend -C HEAD
lsm = ls-files -m
diff = diff --relative
d = diff --relative
ds = -c delta.features=side-by-side diff --relative
push-br = "!sh -c \"git push --set-upstream origin $(git branch --show-current)\""
fetch-rbm = fetch origin master:master
[core]
excludesfile = ~/.globalgitignore
eol = lf
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
line-numbers = true
features = "nelyah_theme"
[delta "side-by-side"]
side-by-side = true
features = "nelyah_theme"
[delta "nelyah_theme"]
map-styles = bold purple => syntax "#330033", bold cyan => syntax "#00264d"
minus-emph-style = "#cccccc" "#923a3a"
minus-non-emph-style = bold auto "#333300"
minus-style = "#cccccc" "#491d1d"
plus-emph-style = "#eeeeee" "#245b24"
plus-non-emph-style = bold auto "#333300"
plus-style = bold auto "#1d491d"
keep-plus-minus-markers = false
hunk-header-style = omit
line-numbers-left-format = " {nm:>3} │"
line-numbers-left-style = red
line-numbers-right-format = " {np:>3} │"
line-numbers-right-style = green
line-numbers-minus-style = red italic
line-numbers-plus-style = green italic
line-numbers-zero-style = "#434C5E" italic
dark = true
file-style = "#8893aa" bold
file-decoration-style = "#8893aa" ul
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
zero-style = syntax
blame-code-style = syntax
blame-format = "{author:<18} ({commit:>9}) {timestamp:^16}"
blame-palette = "#2E3440" "#3B4252" "#434C5E" "#4C566A"
merge-conflict-begin-symbol = ~
merge-conflict-end-symbol = ~
merge-conflict-ours-diff-header-style = "#F1FA8C" bold
merge-conflict-ours-diff-header-decoration-style = "#434C5E" box
merge-conflict-theirs-diff-header-style = "#F1FA8C" bold
merge-conflict-theirs-diff-header-decoration-style = "#434C5E" box
true-color = always
syntax-theme = "OneHalfDark"
side-by-side = false
[delta "ripgrep"]
plus-emph-style = black "#717a05"
[merge]
conflictstyle = diff3
[mergetool]
keepBackup = true
[http]
[user]
name = Nelyah
email = [email protected]
[filter "media"]
clean = git media clean %f
smudge = git media smudge %f
required = true
[diff]
tool = vimdiff
colorMoved = default
[difftool]
prompt = false
[tig "color"]
id = color212 default
cursor = white color8 bold underline
[log]
decorate = full
date = format:"%Y-%m-%d %H:%M"
[submodule]
fetchJobs = 12
[check]
allow-dirty = false
[tig]
line-graphics = auto
main-view = line-number:no,interval=5 id:yes date:default author:full commit-title:yes,graph,refs,overflow=no
main-view-date = custom
ignore-case = smart-case
main-view-date-format = "\"%Y-%m-%d %H:%M\""
mouse = yes
mouse-scroll = 5
refresh-mode = periodic
refresh-interval = 1
tab-size = 4
# show untracked files in one dir as a dir like `git status` instead of multiple files
status-show-untracked-dirs = false
[tig "color"]
title-focus = cyan default
title-blur = cyan default
palette-0 = color24 default ; This is the main graph lines
palette-1 = color24 default ; this is the merge graph lines
; ! Run the command in the foreground with output shown.
; @ Run the command in the background with no output.
; ? Prompt the user before executing the command.
; + Run the command synchronously, and echo the first line of output to the status bar.
; < Exit Tig after executing the command.
; > Re-open Tig instantly in the last displayed view after executing the command.
;
; User-defined commands can optionally refer to Tig's internal state
; using the following variable names, which are substituted before
; commands are run:
;
; %(head) The current ref ID. Defaults to HEAD
; %(commit) The current commit ID.
; %(blob) The current blob ID.
; %(branch) The current branch name.
; %(remote) The current remote name.
; %(tag) The current tag name.
; %(stash) The current stash name.
; %(directory) The current directory path in the tree view;
; empty for the root directory.
; %(file) The currently selected file.
; %(ref) The reference given to blame or HEAD if undefined.
; %(revargs) The revision arguments passed on the command line.
; %(fileargs) The file arguments passed on the command line.
; %(cmdlineargs) All other options passed on the command line.
; %(diffargs) The diff options from `diff-options` or `TIG_DIFF_OPTS`
; %(prompt) Prompt for the argument value.
[tig "bind"]
generic = E !>sh -c "nvim ~/.tigrc"
main = f +git commit --fixup %(commit)
main = r >git rebase --autosquash -i %(commit)^
generic = b view-refs
generic = gs view-grep
generic = gg move-first-line
generic = G move-last-line
generic = pl !git pull
generic = pl !git pull %(remote)
generic = pu !<git push
generic = pU !<git push -u %(remote) %(repo:head)
main = G move-last-line # overwrite the default
generic = <Ctrl-f> scroll-page-down
generic = <Ctrl-b> scroll-page-up
refs = D ?+git branch -D %(branch)
status = S +git stash
stash = P +git stash pop %(stash)
stash = A +git stash apply %(stash)