/
dot_gitconfig.tmpl
115 lines (97 loc) · 3.71 KB
/
dot_gitconfig.tmpl
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
[user]
name = {{ .name }}
email = {{ .email }}
signingkey = 0xBE92A2933EB7CA99
[core]
editor = hx
attributesfile = ~/.gitattributes
commitGraph = true
abbrev = 12
pager = delta
[rerere]
enabled = true
[diff]
colorMoved = default
[pretty]
fixes = Fixes: %Cred%h%Creset (\"%s\")
[delta]
line-numbers = true
navigate = true
syntax-theme = Solarized (dark)
tabs = 4
[init]
defaultBranch = main
[interactive]
diffFilter = delta --color-only
[commit]
gpgsign = false
template = ~/.config/git/.git-commit-template
[alias]
amend = commit -a --amend
bmerged = "!f() { DEFAULT=$(git default); git branch --merged ${1-DEFAULT} | grep -v \"${1-DEFAULT}$\" | xargs -r git branch -d; }; f"
brebased = "!f() { DEFAULT=$(git default); for b in $(git branch --format=\"%(refname:short)\" | grep -vE \"(${1-DEFAULT}|$DEFAULT)\"); do if [ -z \"$(git cherry ${1-$DEFAULT} $b | grep \"^+\")\" ]; then git branch -D $b; fi; done; }; f"
bdone = "!f() { DEFAULT=$(git default); git switch ${1-$DEFAULT} && git up && git brebased ${1-$DEFAULT}; }; f"
co = checkout
clog = log --pretty=%C(yellow)%s%n%Creset%n%b%n---
ddfind = log --decorate --stat --date=iso --format=fuller --patch --grep
ddlog = log --decorate --stat --date=iso --format=fuller -p
default = !git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'
dfind = log --decorate --stat --date=iso --format=fuller --name-status --grep
files = diff --name-only
di = diff --color-words
dic = diff --color-words=.
dlog = log --decorate --stat --date=iso --format=fuller
ec = config --global -e
find = log --pretty=\"format:%Cgreen%H %Cblue%s\" --name-status --grep
flog = log --pretty=fixes
format-patch-repo = !git format-patch --subject-prefix=\"PATCH $(basename $(git rev-parse --show-toplevel))\"
glog = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%aN>%Creset'
hist = log --follow -p
pf = push --force-with-lease
plog = log -1 --pretty=%B
rba = "!f() { DEFAULT=$(git default); git rebase -i --autosquash ${1-$DEFAULT}; }; f"
save = !git add -A && git commit -m 'SAVEPOINT'
sba = "!f() { git subtree add --prefix $1 $2 master --squash; }; f"
sbp = "!f() { git subtree push --prefix $1 $2 $3; }; f"
sbu = "!f() { git subtree pull --prefix $1 $2 master --squash; }; f"
sc = switch -c
send-email-repo = !git send-email --subject-prefix=\"PATCH $(basename $(git rev-parse --show-toplevel))\"
slog = shortlog -e --no-merges
tlog = tag --sort=-v:refname -l --format='%(color:red)%(refname:strip=2)%(color:reset) - %(color:yellow)%(contents:subject)%(color:reset) by %(taggername) on %(taggerdate:human)\n\n%(contents:body)'
undo = reset HEAD~1 --mixed
up = "!f() { git pull --rebase --prune $@ && git submodule update --init --recursive; }; f"
wip = !git add -u && git commit -m "WIP"
wipe = !git add -A && git commit -qm 'WIPE SAVEPOINT' && git reset HEAD~1 --hard
wt = worktree
[log]
mailmap = true
[gc]
writeCommitGraph = true
[merge]
ff = only
conflictstyle = zdiff3
[push]
default = simple
followTags = true
[credential]
helper = cache --timeout=7200
[rebase]
autostash = true
[color "status"]
added = green
changed = yellow bold
untracked = red bold
[gpg]
program = gpg2
{{ if eq .chezmoi.hostname "panda" }}
[credential "smtp://luke%40hsiao.dev@smtp.migadu.com%3a465"]
helper = !pass migadu.com/{{ .email }}/git
[sendemail]
smtpserver = smtp.migadu.com
smtpuser = {{ .email }}
smtpencryption = ssl
smtpserverport = 465
confirm = always
suppresscc = self
annotate = yes
{{- end }}