-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitconfig
168 lines (127 loc) · 4.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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
[alias]
# View abbreviated SHA, description, and history graph of the latest 20 commits
l = log --pretty=oneline -n 20 --graph --abbrev-commit
# View the current working tree status using the short format
s = status
# a little shorthand
c = commit -am
up = pull
p = push
# alias to do a shallow clone. more speed, less space. boom
sclone = clone --depth=1
# Commit all changes
ca = !git add -A && git commit -av
# Show verbose output about tags, branches or remotes
tags = tag -l
branches = branch -a
remotes = remote -v
# Diff with color
df = diff --color --color-words --abbrev
# Git Log pretty
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --
# I don't even know how I didn't already have this
co = checkout
# Amend the currently staged files to the latest commit
amend = commit --amend --reuse-message=HEAD
# Remove the old tag with this name and tag the latest commit with it.
retag = "!r() { git tag -d $1 && git push origin :refs/tags/$1 && git tag $1; }; r"
# 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"
[core]
# Use custom `.gitignore` and `.gitattributes`
excludesfile = ~/.gitignore_global
attributesfile = ~/.gitattributes
# 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 = space-before-tab,-indent-with-non-tab,trailing-space
newMoved = cyan
oldMoved = blue
# Make `git rebase` safer on OS X
# More info: <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>
trustctime = false
editor = subl -n -w
filemode = false
autocrlf = input
[diff "bin"]
# Use `hexdump` to diff binary files
textconv = hexdump -v -C
[pager]
# insanely beautiful diffs ==> brew install diff-so-fancy
diff = diff-so-fancy | less --tabs=4 -RFX
show = diff-so-fancy | less --tabs=4 -RFX
[color]
# Use colors in Git commands that are capable of colored output when
# outputting to the terminal. (This is the default setting in Git ≥ 1.8.4.)
ui = always
[color "diff"]
meta = yellow bold
commit = green bold
frag = magenta bold # line info
old = red # deletions
new = green # additions
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
[help]
# Automatically correct and execute mistyped commands
autocorrect = 1
[merge]
# Include summaries of merged commits in newly created merge commit messages
log = true
tool = opendiff
renameLimit = 0
[push]
# push easily. http://stackoverflow.com/a/23918418/89484
default = current
# Make `git push` push relevant annotated tags when pushing branches out.
followTags = true
[filter "media"]
clean = git-media-clean %f
smudge = git-media-smudge %f
# URL shorthands
[url "[email protected]:"]
insteadOf = "https://github.com/"
pushInsteadOf = "github:"
pushInsteadOf = "git://github.com/"
pushInsteadOf = "https://github.com/"
[url "git://github.com/"]
insteadOf = "github:"
[url "[email protected]:"]
pushInsteadOf = "gist:"
pushInsteadOf = "git://gist.github.com/"
[url "git://gist.github.com/"]
insteadOf = "gist:"
# correct typos
[help]
autocorrect = 1
# use separate file for username / github token / etc
[include]
path = ~/.gitconfig.local
# [init]
# templatedir = ~/.git_template
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[fetch]
prune = true
[diff]
# Show blocks of moved text of at least 20 alphanumeric characters differently than adds/deletes
# https://blog.github.com/2018-04-05-git-217-released/
colorMoved = zebra
[stash]
showPatch = true
[log]
date = relative