-
Notifications
You must be signed in to change notification settings - Fork 4
/
.gitconfig
116 lines (116 loc) · 3.02 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
[core]
; eol = lf
autocrlf = input
safecrlf = warn
[github]
user = rainux
[branch]
autosetuprebase = always
[color]
ui = auto
[diff]
renames = copies
tool = gvimdiff
compactionHeuristic = true
[difftool]
prompt = false
[user]
name = Rainux Luo
email = [email protected]
[merge]
summary = true
tool = gvimdiff
[push]
default = simple
[rerere]
enabled = true
[alias]
a = add
aa = add .
ap = add -p
arc = !git archive --format=zip --prefix="$(basename $PWD)/" HEAD -o "$(basename $PWD)-`git rev-parse --short HEAD`.zip"
au = add -u
amr = am --resolved
b = branch
cb = checkout -b
co = checkout
cp = cherry-pick
ci = commit --gpg-sign
cia = commit --gpg-sign --amend
cim = commit --gpg-sign -m
ch = cherry -v
d = diff -b
dw = diff -b --word-diff=color
dc = diff -b --cached
dcw = diff -b --cached --word-diff=color
ds = diff -b --stat
dt = difftool
dct = difftool --cached
l = log -p
lg = log --oneline --decorate --graph
lgg = log --color --graph --pretty=format:'%C(yellow)%h%Creset -%C(red)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
log = log --show-signature
mt = mergetool -y
pr = pull-request
rb = rebase
rbi = rebase -i
rbc = rebase --continue
rba = rebase --abort
rt = reset
rth = reset --hard
s = status
show = show -b
showw = show -b --word-diff=color
sm = submodule
st = stash
stl = stash list
stp = stash pop
sts = stash show -p
stp1 = stash pop stash@{1}
stp2 = stash pop stash@{2}
stp3 = stash pop stash@{3}
stp4 = stash pop stash@{4}
stp5 = stash pop stash@{5}
sts1 = stash show stash@{1} -p
sts2 = stash show stash@{2} -p
sts3 = stash show stash@{3} -p
sts4 = stash show stash@{4} -p
sts5 = stash show stash@{5} -p
tagme = !git tag "v$(git show --no-patch --date=format:%Y%m%d --pretty=format:'%cd-%h' HEAD)"
# summary of what you're going to push
ps = log --pretty=oneline origin..master
# like "git log", but include the diffs
w = whatchanged
wc = whatchanged -p
edit-modified = "!f() { git ls-files -m | awk '{print $NF}' | sort -u; }; gvim -p `f`"
edit-unmerged = "!f() { git ls-files -u | awk '{print $NF}' | sort -u; }; $EDITOR `f`"
add-unmerged = "!f() { git ls-files -u | awk '{print $NF}' | sort -u; }; git add `f`"
today = !git log --since=\"12 hours ago\" --author=\"`git config --get user.name`\" --reverse --pretty=format:%s
f = flow feature
frb = flow feature rebase
fco = flow feature checkout
cloner = clone --recursive
switch = !legit switch \"$@\"
branches = !legit branches
sprout = !legit sprout \"$@\"
unpublish = !legit unpublish \"$@\"
harvest = !legit harvest \"$@\"
sync = !legit sync \"$@\"
publish = !legit publish \"$@\"
graft = !legit graft \"$@\"
[credential]
helper = osxkeychain
[filter "media"]
required = true
clean = git media clean %f
smudge = git media smudge %f
[filter "hawser"]
clean = git hawser clean %f
smudge = git hawser smudge %f
required = true
[filter "lfs"]
clean = git lfs clean %f
smudge = git lfs smudge %f
required = true
[tar "tar.xz"]
command = xz -c