-
Notifications
You must be signed in to change notification settings - Fork 0
/
gitconfig
145 lines (120 loc) · 3.31 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
[alias]
a = add
b = branch
c = commit
co = checkout
# clone a repository including all submodules
cr = clone --recursive
# show the diff between the latest commit and the current state
d = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat"
f = fetch
fr = pull --rebase
# switch to a branch, creating it if necessary
go = "!f() { git checkout -b \"$1\" 2> /dev/null || git checkout \"$1\"; }; f"
# view abbreviated SHA, description, and history graph of the latest 20 commits
l = log --pretty=oneline -n 20 --graph --abbrev-commit
m = merge
p = pull
patch = !git --no-pager diff --no-color
rb = rebase
# view the current working tree status using the short format
s = status -sb
[apply]
whitespace = fix
[checkout]
guess = true
[color]
ui = auto
[color "diff"]
meta = yellow bold
commit = green bold
frag = magenta bold
old = red bold
new = green bold
whitespace = red reverse
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = "red bold 52"
newNormal = "green bold"
newHighlight = "green bold 22"
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "status"]
added = yellow
changed = green
untracked = cyan
[core]
attributesfile = ~/.gitattributes
excludesfile = ~/.gitignore
# handle windows line endings
# https://help.github.com/articles/dealing-with-line-endings/
autocrlf = input
safecrlf = warn
# treat spaces before tabs and all kinds of trailing whitespace as an error
# [default] trailing-space: looks for spaces at the end of a line
# [default] space-before-tab: looks for spaces before tabs at the beginning of a line
whitespace = trailing-space,space-before-tab
# make `git rebase` safer on macos
# http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/
trustctime = false
# prevent showing files whose names contain non-ASCII symbols as unversioned.
# http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html
precomposeunicode = false
[fetch]
# remove remote branches that no longer exist
prune = true
[gpg]
program = gpg2
[help]
autocorrect = 1
[i18n]
commitencoding = utf8
[init]
defaultBranch = main
[log]
date = local
[merge]
# include summaries of merged commits in newly created merge commit messages
log = true
# show a diffstat at the end of the merge
stat = true
[pager]
# https://github.com/so-fancy/diff-so-fancy
diff = diff-so-fancy | less --tabs=4 -RFX
log = diff-so-fancy | less --tabs=4 -RFX
show = diff-so-fancy | less --tabs=4 -RFX
[pull]
# rebase instead of merging when using `git pull`
rebase = true
[push]
autoSetupRemote = true
default = current
[rebase]
autostash = true
stat = true
[status]
showUntrackedFiles = all
[submodule]
fetchJobs = 8
# URL shorthands
[url "[email protected]:"]
insteadOf = "gh:"
insteadOf = "git://github.com"
insteadOf = "https://github.com/"
pushInsteadOf = "github:"
pushInsteadOf = "git://github.com/"
pushInsteadOf = "https://github.com/"
[url "[email protected]:"]
insteadOf = "gst:"
pushInsteadOf = "gist:"
pushInsteadOf = "git://gist.github.com/"
pushInsteadOf = "https://gist.github.com/"
[diff "exif"]
textconv = exif
[github]
user = cafedomingo
# use separate file for user info, etc.
[include]
path = ~/.gitconfig.local