-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathgitconfig
162 lines (162 loc) · 4.91 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
[user]
name = Keith Smiley
email = [email protected]
[core]
excludesfile = ~/.gitignore
attributesfile = ~/.gitattributes
editor = nvim
whitespace = trailing-space,space-before-tab
pager = pager
[init]
defaultBranch = main
templatedir = ~/.git_template
[push]
default = upstream
[diff]
tool = nvim -d
renames = copies
algorithm = histogram
indentHeuristic = true
colorMoved = zebra
[difftool]
prompt = false
[difftool "idiff"]
cmd = "diff -Nuri -U3 --minimal \"$LOCAL\" \"$REMOTE\" | sed 's/^-/\\x1b[1;31m-/;s/^+/\\x1b[1;32m+/;s/^@/\\x1b[1;34m@/;s/$/\\x1b[0m/' | diff-highlight"
[difftool "ksdiff"]
cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[mergetool "nvim"]
cmd = nvim -c "normal\\ gg]c" -f \"$MERGED\"
prompt = false
trustExitCode = true
[mergetool]
keepBackup = false
[merge]
tool = nvim
log = true
stat = true
conflictstyle = zdiff3
[github]
user = keith
[help]
autocorrect = 1
[hub]
protocol = https
[alias]
a = add
adeleted = !sh -c 'git ls-files `git rev-parse --show-toplevel` --deleted -z | xargs -0 git rm -r'
ap = add -p
auntracked = !sh -c 'git ls-files `git rev-parse --show-toplevel` --others --exclude-standard -z | xargs -0 git add'
b = branch
ba = branch -a
bisect-fixed = bisect start --term-new=fixed --term-old=broken
c = clone --recursive
cbm = !sh -c 'git cb $1 mine' -
co-pr = !sh -c 'git fetch --force origin pull/$1/head:pr/$1 && git checkout pr/$1' -
com = commit --verbose
coma = commit --verbose --amend --no-edit --no-verify
comf = commit --verbose --fixup=HEAD --no-verify
commsg = !sh -c 'git commit --message \""$(pbpaste)"\"' -
cop = !sh -c 'git branch | cut -c 3- | fzy --query=$1 | xargs git checkout' -
copr = !sh -c 'git branch -r | cut -c 3- | grep -v HEAD | cut -d/ -f2- | fzy --query=$1 | xargs git checkout' -
ctags = !.git/hooks/ctags
d = diff
dc = diff --cached
dm = !sh -c 'git diff $(git merge-base $(git rev-parse --abbrev-ref $(git main-branch)@{upstream}) $(git name-rev --name-only HEAD)) $@' -
dstash = !sh -c 'git stash show -p stash@{${1-0}}' -
g = !exec git
git = !exec git
l = log -20 --topo-order --pretty='format:%Cblue%h%Creset %s%Cred%d%Creset %C(yellow)(%an)%Creset %ar'
last = log -p -1
last-msg = !git --no-pager log --format=format:%B -1
last-sha = !git --no-pager log --format=format:%H -1
o = open
pul = pull
punch = push --force-with-lease
ra = rebase --abort
rc = rebase --continue
roma = !sh -c 'git rebase $(git rev-parse --abbrev-ref $(git main-branch)@{upstream})'
romi = !sh -c 'git rebase $(git rev-parse --abbrev-ref $(git main-branch)@{upstream}) -i'
rv = remote -v
s = status -sb
sub = submodule update --init --recursive
undo = reset --soft HEAD^
wtc = !sh -c 'git commit $@ -m \""`curl -s https://whatthecommit.com/index.txt`"\"' -
[fetch]
prune = true
[branch]
autosetupmerge = true
sort = -committerdate
[rerere]
enabled = true
autoupdate = true
[rebase]
autosquash = true
autostash = true
stat = true
[stash]
showPatch = true
showIncludeUntracked = true
[gpg]
program = gpg
[commit]
verbose = true
gpgSign = true
[tag]
gpgSign = true
[submodule]
fetchJobs = 8
[interactive]
diffFilter = diff-highlight
[diff "plist"]
textconv = plutil -convert xml1 -o -
[diff "provision"]
textconv = normalize-profile --ignore-invalid --shorten-certs
[diff "exif"]
textconv = exiftool
[diff "zip"]
textconv = textconv-zip
cachetextconv = true
[difftool "ksdiff"]
cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[mergetool "ksdiff"]
cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" \"$REMOTE\"
[status]
showUntrackedFiles = all
[sendemail]
smtpEncryption = tls
smtpServer = /usr/local/bin/msmtp
smtpServerOption = -agmail
[log]
follow = true
[grep]
column = true
lineNumber = true
[advice]
waitingForEditor = false
skippedCherryPicks = false
[pager]
branch = false
[branch "main"]
pushRemote = NOPE
[branch "master"]
pushRemote = NOPE
[pull]
rebase = true
[http]
cookiefile = ~/.gitcookies
[checkout]
guess = true
[format]
pretty = fuller
[color]
ui = auto
[pile]
cleanupRemoteOnSubmitFailure = true
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
# https://juripakaste.fi/swift-git-attributes
[diff "swift"]
xfuncname = ^[ \t]*(((private |public |internal |final |open )*class|(private |public |internal )*struct|(private |public |internal )*actor|(private |public |internal )*func|(private |public |internal )*extension|(private |public |internal )*enum)[ \t].*)$