-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitconfig
150 lines (150 loc) · 4.19 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
# vim: textwidth=0:filetype=sh:autoindent:noexpandtab:tabstop=4:shiftwidth=4
[user]
email = [email protected]
name = Jay Dorsey
[core]
editor = nvim
excludesfile = ~/.gitignore_global
ignorecase = false
pager = delta
commitGraph = true
attributesfile = /Users/jay/.gitattributes
[blame]
showEmail = true
[alias]
a = add -A
authors = log --abbrev-commit --format="%an" --no-merges
b = branch
cane = !LEFTHOOK=0 git commit --amend --no-edit --no-verify
co = checkout
d = diff -w --word-diff
fixup = !sh -c 'REV=$(git rev-parse $1) && git commit --fixup $@ && git rebase -i --autosquash $REV^' -
git = !exec git
graph = log --graph --all --decorate --stat --date=iso
last = log -1 HEAD
# http://ses4j.github.io/2020/04/01/git-alias-recent-branches/
lb = !git reflog show --pretty=format:'%gs ~ %gd' --date=relative | grep 'checkout:' | grep -oE '[^ ]+ ~ .*' | awk -F~ '!seen[$1]++' | head -n 10 | awk -F' ~ HEAD@{' '{printf(\" \\033[33m%s: \\033[37m %s\\033[0m\\n\", substr($2, 1, length($2)-1), $1)}'
lg = log --oneline --graph
lgg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --decorate=full
lggg = log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --decorate=full
ls = ls-files
mylog = log --author=jaydorsey
recent = !git log --no-walk --date-order --oneline --decorate $(git rev-list --branches --no-walk)
s = status
staged = diff --name-only --staged
standup = log --since yesterday --oneline --no-merges --author jaydorsey
state = !git fetch origin && git remote show origin && :
stats = shortlog -sn --since='30 days'
sync = !git fetch origin && git remote prune origin && :
sw = switch
visual = !gitk
ctags = !.git/hooks/ctags
bclean = !sh -c 'git branch --merged ${1-master} | grep -v "main" | grep -v "master" | grep -v "production" | xargs git b -D' -
bcleantest = !sh -c 'git branch --merged ${1-master} | grep -v "main" | grep -v "master" | grep -v "production"' -
untracked = ls-files --others --exclude-standard
[delta]
plus-style = "syntax #012800"
minus-style = "syntax #340001"
syntax-theme = Monokai Extended
side-by-side = true
navigate = true
line-numbers = true
light = false
[interactive]
diffFilter = delta --color-only
[branch]
autosetuprebase = always
autosetupmerge = always
[color]
branch = auto
diff = true
interactive = true
status = auto
ui = true
pager = true
[commit]
verbose = false
gpgsign = true
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
[push]
default = simple
[pager]
diff = delta
log = delta
reflog = delta
show = delta
[rebase]
autosquash = true
[remote "origin"]
fetch = +refs/pull/*/head:refs/remotes/origin/pull_requests/*
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
[color "diff"]
meta = yellow
frag = magenta bold
commit = yellow bold
old = red bold
new = green bold
whitespace = red reverse
[diff]
algorithm = histogram
compactionHeuristic = true
external = difft
[diff "rspec"]
xfuncname = "^[ \t]*((RSpec|describe|context|it|before|after|around|feature|scenario)[ \t].*)$"
[diff "spaceman-diff"]
command = /usr/local/bin/spaceman-diff
[diff-so-fancy]
changeHunkIndicators = false
[diff "hex"]
textconv = hexdump -v -C
binary = true
[rerere]
enabled = true
autoupdate= true
[gc]
writeCommitGraph = false
[fetch]
writeCommitGraph = false
[init]
templatedir = ~/.git_template
defaultBranch = main
[pull]
rebase = false
[difftool]
prompt = false
[mergetool]
prompt = false
[advice]
skippedCherryPicks = false
ignoredHook = false
[tag]
gpgSign = true
[url "https://"]
insteadOf = git://
[color "status"]
changed = blue
untracked = magenta
added = green
updated = yellow
unmerged = yellow
[color "interactive"]
head = gree
prompt = blue
help = green
error = magenta
[gpg]
format = ssh
[includeIf "gitdir/i:/Users/jay.dorsey/"]
path = ~/work/.gitconfig-work
[includeIf "gitdir/i:/Users/jay/"]
path = ~/dotfiles/.gitconfig-personal
[status]
relativePaths = true