-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitconfig
148 lines (123 loc) · 2.88 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
[user]
name = Maxime Loliée
email = maxime@siliadev.com
signingkey = 1B5A0D7E
[color]
ui = true
branch = auto
diff = auto
interactive = auto
status = auto
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
[core]
editor = vim
excludesfile = ~/.gitignore-global
whitespace = space-before-tab,-indent-with-non-tab,trailing-space
commitGraph = true
# Make `git rebase` safer on OS X
# More info: <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>
trustctime = false
# Prevent showing files whose names contain non-ASCII symbols as unversioned.
# http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html
precomposeunicode = false
commentchar = "'"
[diff]
# Detect copies as well as renames
renames = copies
[diff "bin"]
# Use `hexdump` to diff binary files
textconv = hexdump -v -C
[init]
defaultBranch = main
[pager]
diff = diff-so-fancy | less --tabs=4 -RFX
show = diff-so-fancy | less --tabs=4 -RFX
[apply]
whitespace = fix
[merge]
tool = vimdiff
[rebase]
autosquash = true
[fetch]
prune = true
[commit]
gpgsign = true
template = ~/.gitmessage
[alias]
a = add -p
b = branch --list -a
bm = branch -m
c = "!f() { GIT_EDITOR='vim +startinsert' git commit -v; }; f"
cn = commit -v -n
ca = commit --amend
can = commit --amend -n
cf = commit --fixup
cfn = commit -n --fixup
cm = commit -m
co = checkout
cob = checkout -b
cop = checkout -p
cp = cherry-pick
cpa = cherry-pick --abort
cpc = cherry-pick --continue
cps = cherry-pick --skip
cs = commit --squash
d = diff
dc = diff --cached
dfm = diff master...
lg = log --color --graph --pretty=format:'%Cred%h%Creset %C(yellow)%d%Creset%s \
green(%cr) %C(bold blue)<%an>%Creset ' --abbrev-commit
lgt = log --tags --simplify-by-decoration --pretty=format:'%Cred%ai%Creset %C(yellow)%d%Creset'
ma = merge --abort
mc = merge --continue
p = push
pf = push -f
po = push origin
pod = push --delete origin
pof = push --force-with-lease origin
pt = push --follow-tags
pu = pull
r = reset
ra = rebase --abort
rc = rebase --continue
rh = reset --hard
ri = rebase -i
rmb = "!f() { git branch --merged master | grep -v master | xargs -n 1 git branch -d; }; f"
rmbo = "!f() { git branch -r --merged master | grep -v master | sed s,origin/,, | xargs -n 1 git pod; }; f"
rr = reset HEAD^
rs = rebase --skip
rso = remote set-url origin
ru = remote update
sa = submodule add
si = submodule init --recursive
sr = submodule dinit
st = status -bs
su = submodule foreach git pull
# Show verbose output about tags, branches or remotes
tags = tag -l
branches = branch -a
remotes = remote -v
[gc]
auto = 1
[log]
follow = true
[pull]
rebase = true
[push]
default = current
# Make `git push` push relevant annotated tags when pushing branches out.
followTags = true
[rerere]
enabled = true
[fetch]
writeCommitGraph = true
[include]
path = ~/.gitconfig-override
[gpg]
program = gpg2
[absorb]
maxStack = 50