-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.gitconfig
112 lines (112 loc) · 4.62 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
[alias]
wc = whatchanged --stat
st = status
stat = status -sb
br = branch -vv
chekcout = checkout
up = fetch --all -p -t
brb = !git br -v | grep '^*' | tr -d '[]:' | awk '{ print $2 \" \" $4 }'
d = !read B RB <<<$(git brb) && git wc ^$B $RB
rd = !read B RB <<<$(git brb) && git wc ^$RB $B
m = !read B RB <<<$(git brb) && git merge $RB
sub = submodule
subup = !git submodule sync && git submodule update --init
remotes = remote -v show
rev = rev-parse HEAD
cl = clone --recursive
human = name-rev --name-only --refs=refs/heads/*
humin = name-rev --name-only --refs=refs/heads/* --stdin
graphviz = "!f() { echo 'digraph git {' ; git log --pretty='format: %h -> { %p }' \"$@\" | sed 's/[0-9a-f][0-9a-f]*/\"&\"/g' ; echo '}'; }; f"
sb = show-branch
wd = diff --word-diff
dt = difftool -y
cat = cat-file
ll = log --oneline --graph
ls = ls-files
large-files = !git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | sed -n 's/^blob //p' | sort --numeric-sort --key=2 | cut -c 1-12,41- | $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest
large-blobs = !git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize:disk) %(rest)' | sed -n 's/^blob //p' | sort --numeric-sort --key=2 | cut -c 1-12,41- | $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest
large-files-gone = !git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | sed -n 's/^blob //p' | grep -vF --file=<(git ls-tree -r HEAD | awk '{print $3}') | sort --numeric-sort --key=2 | cut -c 1-12,41- | $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest
large-blobs-gone = !git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize:disk) %(rest)' | sed -n 's/^blob //p' | grep -vF --file=<(git ls-tree -r HEAD | awk '{print $3}') | sort --numeric-sort --key=2 | cut -c 1-12,41- | $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest
recent = "!r() { refbranch=$1 count=$2; git for-each-ref --sort=-committerdate refs/heads --format='%(refname:short)|%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)' --color=always --count=${count:-50} | while read line; do branch=$(echo \"$line\" | awk 'BEGIN { FS = \"|\" }; { print $1 }' | tr -d '*'); ahead=$(git rev-list --count \"${refbranch:-origin/master}..${branch}\"); behind=$(git rev-list --count \"${branch}..${refbranch:-origin/master}\"); colorline=$(echo \"$line\" | sed 's/^[^|]*|//'); echo \"$ahead|$behind|$colorline\" | awk -F'|' -vOFS='|' '{$5=substr($5,1,70)}1' ; done | ( echo \"ahead|behind||branch|lastcommit|message|author\\n\" && cat) | column -ts'|';}; r"
[core]
excludesfile = ~/.gitignore-global
whitespace=trailing-space,cr-at-eol,space-before-tab,tab-in-indent
autocrlf = input
safecrlf = false
[color]
ui = auto
diff = auto
status = auto
branch = auto
interactive = auto
current = yellow reverse
local = yellow
# remote = green
[color "diff"]
whitespace = red reverse
frag = cyan
old = red bold
new = green bold
[color "status"]
added = green
changed = yellow
untracked = red
[apply]
whitespace = nowarn
[push]
default = tracking
[branch]
autosetupmerge = true
[instaweb]
local = true
httpd = webrick
port = 4321
[diff]
tool = default-difftool
[difftool "default-difftool"]
cmd = code --wait --diff $LOCAL $REMOTE
[merge]
stat = true
conflictstyle = diff3
defaultToUpstream = true
renamelimit = 2000
tool = code
[mergetool "code"]
cmd = code --wait --merge $REMOTE $LOCAL $BASE $MERGED
[rerere]
enabled = 1
autoupdate = 1
[status]
submodulesummary = true
[gc]
reflogExpire = 180 days
reflogExpireUnreachable = 90 days
pruneExpire = 3 months ago
[user]
name = Jordan Ritter
email = [email protected]
signingkey = D14D7F2B028A9C53
[github]
user = jpr5
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[commit]
gpgsign = false
[grep]
lineNumber = true
[fetch]
# prune = true
# pruneTags = true
[pull]
rebase = true
ff = true
[push]
default = current
autoSetupRemote = true
[rebase]
autostash = true
[credential]
helper = osxkeychain