forked from paulirish/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitconfig
138 lines (116 loc) · 3.34 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
[alias]
c = commit -am
fpush = push --force
s = status
sclone = clone --depth=1
amend = commit --amend --all --no-edit
undocommit = reset HEAD~
hreset = reset --hard
co = checkout
df = diff --color --color-words --abbrev
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --
cherrypick = cherry-pick
cherry = cherry-pick
cp = cherry-pick
diffbranch = !"git diff $(git merge-base HEAD origin/master)"
# show commit log of unique commits of this branch (not on master)
diffcommitsfrommaster = log --no-merges master..
# show unified diff of unique commits of this branch
difffrommaster = diff master...
# ^^^^ Holy crap two dots vs three dots, so important. https://stackoverflow.com/a/48681527
# 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"
reup = rebase-update # depot_tools specific
git = !exec git
[core]
excludesfile = ~/.gitignore
attributesfile = ~/.gitattributes
precomposeUnicode = true
[pager]
# or not... # insanely beautiful diffs ==> npm install -g diff-so-fancy
# https://github.com/dandavison/delta
diff = delta # diff-so-fancy | less --tabs=4 -RFX
show = delta # diff-so-fancy | less --tabs=4 -RFX
[delta]
max-line-length = 700
max-line-distance = 0.3 # better word-diff?
# plus-style = "#012800"
# minus-style = "#340001"
# zero-style = "#999999"
syntax-theme = base16
# hyperlinks = true # broken? https://github.com/dandavison/delta/issues/362
# navigate = true # eh. not great with short diffs.
file-decoration-style = yellow ol ul
file-style = bold yellow ul
hunk-header-decoration-style = blue
hunk-header-line-number-style = purple bold
[interactive]
# diffFilter = delta --color-only
# disabled until github.com/so-fancy/diff-so-fancy/pull/172 is resolved :(
# diffFilter = "diff-so-fancy"
# so much color
[color]
ui = auto
[color "diff"]
meta = yellow bold
commit = green bold
frag = magenta bold
old = red bold
new = green bold
whitespace = red reverse
newMoved = cyan dim
oldMoved = blue dim
newMovedAlternative = cyan italic
oldMovedAlternative = blue italic
[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
# git mergetool
[merge]
tool = opendiff
renameLimit = 0
[url "[email protected]:"]
insteadOf = https://github.com/
[url "git://gist.github.com/"]
insteadOf = "gist:"
# correct typos
[help]
autocorrect = 1
# push easily. http://stackoverflow.com/a/23918418/89484
[push]
default = current
followTags = true
[pull]
ff = only
default = current
[checkout]
defaultRemote = origin
# 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