-
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathgitconfig
118 lines (92 loc) · 2.42 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
[include]
path = ~/.gitconfig.local
[init]
templatedir = ~/.git_template
[core]
editor = nvim
excludesfile = ~/.gitignore
# dont ignore case
ignorecase = false
# Treat spaces before tabs and all kinds of trailing whitespace as an error
whitespace = space-before-tab,-indent-with-non-tab,trailing-space
# Speed up commands involving untracked files such as `git status`.
# https://git-scm.com/docs/git-update-index#_untracked_cache
untrackedCache = true
# diff-so-fancy
pager = diff-so-fancy | less --tabs=4 -F -K -X -R -i
# no more CRLF
autocrlf = input
[add "interactive"]
useBuiltin = true
[feature]
experimental = true
manyFiles = true
[alias]
tags = tag -l
branches = branch -l -v -a
remotes = remote -v
fixup = commit --fixup
fresh = ! git_fresh
[apply]
whitespace = fix # detect whitespace errors when applying a patch
[gc]
auto = 1
[pull]
rebase = true
[push]
default = simple
[fetch]
prune = true # delete local branches if remotes are gone
pruneTags = true # do the same for tags
output = compact # it is enough
[rebase]
stat = true
abbreviateCommands = true # to hell with longer rebase output
autosquash = true # auto squash fixups by default
autostash = true # auto git stash ; git stash pop when rebasing
[status]
submoduleSummary = true # show submodules summary by default
[rerere]
enabled = true # rere has power
autoUpdate = true # update index (always)
[branch]
autosetupmerge = true # auto track branches
autosetuprebase = always
[merge]
summary = true
status = true
tool = nvimmerge
conflictstyle = diff3
[mergetool]
prompt = true
[mergetool "nvimmerge"]
cmd = nvim -d $BASE $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'
[diff]
algorithm = patience
renames = copies # try to spot renaming of files
indentHeuristic = true # experimental to make patches easier to read
tool = nvimdiff
guitool = opendiff
[difftool]
prompt = true
[difftool "nvimdiff"]
cmd = nvim -d $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'
[color]
ui = true
[help]
autocorrect = 1
[credential]
helper = cache --timeout=28800
useHttpPath = true
[url "https://github.com/"]
insteadof = git://github.com/
# gitattributes configuration
[core]
attributesfile = ~/.gitattributes
[diff "exif"]
textconv = exiftool
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true